Commit Graph

1105 Commits

Author SHA1 Message Date
Michael Bayne 0bbb6759db Yes kids, it's important to be safe when you're playing in the dangerous
playground of distributed object subscription.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2904 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-11 18:36:55 +00:00
Michael Bayne 69a973efb2 Make our object manager available to nice askers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2903 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-11 18:36:32 +00:00
Michael Bayne 5418ffd2fd We love to be robust.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2897 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-09 20:41:23 +00:00
Michael Bayne b4ad08ad81 Hell, let's give 'em 10000. We blow through that many distributed object
events in 500 milliseconds.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2892 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-04 18:42:40 +00:00
Michael Bayne fcef745724 We use fast computers, let's give 'em 1000 loops.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2891 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-04 18:41:59 +00:00
Michael Bayne 0cd11f034b Not to freak out if we've no bootstrap.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2890 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-03 23:38:58 +00:00
Michael Bayne 30190bfd85 Provide a config instance via which we can communicate customizations down
to various and sundry services.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2864 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-11-24 17:51:08 +00:00
Michael Bayne f77cceffe6 Make our _iid available to the SafeInterval.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2854 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-11-12 23:37:47 +00:00
Michael Bayne 2bcf2f26a4 I just saw someone have 2100 outgoing messages queued up for them in 415
milliseconds. I want to know what in the fuck those were.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2840 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-10-26 05:18:13 +00:00
Michael Bayne b696989375 Removed erronious space.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2838 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-10-26 02:45:19 +00:00
Eric Lundberg fc2cb730b8 Lets not store the whole marshaller and just the class name. Combine log
message.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2837 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-10-26 02:44:01 +00:00
Eric Lundberg bcd034d0be Hmm I think this does the right thing tracking the lask 10K invocation
services that registered (ignoring unregisters) but I can't get it to
cough up the problem on my machine, so it's a little hard to test.  If you
fine cvs readers want to take a peek that would be great.  Hurray for
debug code.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2836 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-10-26 02:33:43 +00:00
Michael Bayne ed5a97243e As it turns out to be nearly impossible to avoid occasionally trying to
post events to an object that is already destroyed, we'll allow
transactions to be started on non-active objects and we'll just log a
warning when the transaction is finally committed like we do for all other
events on non-active objects.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2835 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-10-25 22:08:02 +00:00
Michael Bayne 5272911863 Don't really need the stack trace.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2833 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-10-25 00:04:00 +00:00
Michael Bayne 414152443b We don't need to see the message.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2832 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-10-25 00:01:04 +00:00
Michael Bayne ba52e3cfa4 If we fail to deliver the objectAvailable() notification because the
client is disconnected, unsubscribe immediately. We normally unsubscribe
when the client loses its connection but it's possible for a subscription
request to come in and the client to lose connection before we can
communicate the object available response.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2824 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-10-10 23:23:41 +00:00
Michael Bayne 6b2c9cde14 Report the toString() output on long runners.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2822 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-10-08 04:10:29 +00:00
Michael Bayne ff8211534f Take no guff from freaking out network event handlers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2821 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-10-07 22:41:24 +00:00
Michael Bayne 567d3696a9 Added toServerTime().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2818 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-09-30 22:18:18 +00:00
Michael Bayne 670d346c6c Clear out our subscription table in clearSubscrips() so that we don't
erroneously decide that we have stale subscriptions around, and log stale
subscriptions if we do end up clearing them.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2817 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-09-29 18:28:22 +00:00
Michael Bayne c597a5c833 Not to freak out if a client logs off between the time they made their
pirate selection and the time we manage to load up their pirate.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2816 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-09-25 21:07:54 +00:00
Michael Bayne bedb859943 Demoted logging to debug.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2814 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-09-25 15:57:38 +00:00
Michael Bayne 44f2a352cc Removed vestigal business.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2811 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-09-24 21:39:42 +00:00
Michael Bayne 320f53913b We only need to introspect and sort our fields array once per class, not
every time we create a distributed object.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2810 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-09-24 20:33:06 +00:00
Michael Bayne 0aecdc2069 Don't create our listen socket until we've actually be started up.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2809 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-09-24 18:37:55 +00:00
Michael Bayne fe588b291b Report long running invokers if we're tracking their run duration.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2808 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-09-24 17:10:49 +00:00
Michael Bayne b19fcb219b getClass().getField() creates a new Field instance every time and possibly
creates an Object[] as well. Now we cache the Field instances and look
them up ourselves which will likely be much more efficient at only a small
additional memory cost.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2805 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-09-23 17:16:46 +00:00
Michael Bayne 8b9199ed09 Make sure we don't have any dangling subscriptions if we receive a message
after having closed our client connection.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2791 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-09-07 23:30:13 +00:00
Michael Bayne 70a8c00388 If a connection is sitting in the system but is closed (perhaps possible
through some well-timed disconnection early in the initialization phase),
we should consider it idle because then we'll catch it on the next tick
and flush it whereas otherwise it would just sit around forever until
someone logged in from that IP again.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2788 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-20 19:32:27 +00:00
Michael Bayne 233ccbc01c Not to freak out about unmapped authing connections, connections are only
mapped after they are authenticated.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2787 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-20 19:30:52 +00:00
Michael Bayne a5367cb657 Only complain about big overflow queues every time we reach a new plateau
of 50 messages.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2786 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-20 18:54:23 +00:00
Michael Bayne 46f4426e64 Warn on large overflow queue size.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2781 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-20 00:47:39 +00:00
Michael Bayne 442a2a5759 Added missing newline.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2779 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-18 21:38:07 +00:00
Michael Bayne f013aba02b Additional robustness: mark the server dobjmgr internal events as private
and refuse subscriptions to invalid oids (it's not out of the realm of
possibility that the clients were somehow subscribing to oid 0 and funny
things were happening).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2778 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-16 04:14:56 +00:00
Michael Bayne 6c1274eef3 This should never be sent over the wire, but it is somehow, sometimes, and
by making these transient we can hopefully debug it more effectively if it
happens in the future.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2773 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-15 18:50:02 +00:00
Michael Bayne ef17c4487e Would you believe, we still missed a fricking newline.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2771 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-13 22:46:13 +00:00
Michael Bayne c9f9cfe34d Fix up registered interval reporting.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2770 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-13 21:38:37 +00:00
Michael Bayne 72674bbf49 Report the number of intervals registered as well as the number fired in
the reporting interval. Now we can see if we're leaking intervals (which
would be double plus ungood).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2769 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-13 21:05:28 +00:00
Michael Bayne 32bfc704d7 Not to freak out while we're not connected.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2767 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-12 01:01:09 +00:00
Michael Bayne c289da2150 They're big, they're partial and we don't need to hear about 'em!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2762 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-09 05:00:01 +00:00
Michael Bayne 732c0aab41 Modified clock synchronization approach slightly so that we allow 5
seconds to pass in between ping/pong latency samples. Additionally, we
resync the clock every 10 minutes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2748 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-08 20:20:39 +00:00
Ray Greenwell 6c3ad0b329 Also count how many times we find ourselves at the top of a non-empty
queue and end things if it gets out of hand.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2745 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-08 03:23:43 +00:00
Ray Greenwell b59b9b5954 New very safe shutdown scheme. An Invoker.Unit runs on both the Invoker
and dobj thread until they're both empty (or it has been passed 50 times)
and then shuts the threads down.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2744 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-08 03:11:55 +00:00
Michael Bayne dc7591a562 This seems happy now, so we'll can the logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2737 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-29 18:48:11 +00:00
Michael Bayne a35edea96e We need also to clear the receivers when we transfer them from our auth
user object to our chosen pirate user object.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2727 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-25 20:51:08 +00:00
Michael Bayne 76af5d2353 Prevent propagation of lock release events.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2720 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-22 22:54:14 +00:00
Michael Bayne 493c75b865 Make client and connection count information available.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2718 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-22 02:50:49 +00:00
Michael Bayne 245a5d5139 Do some sanity checking.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2717 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-20 17:02:59 +00:00
Michael Bayne f7d55b9814 More debugging for DSet duplicate business.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2716 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-20 17:02:26 +00:00
Michael Bayne 7efc5dfc32 Make the auth response data available to interested parties.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2713 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-17 21:39:15 +00:00