Commit Graph

123 Commits

Author SHA1 Message Date
Michael Bayne d618d3c771 Eclipse suggested cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2971 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-25 14:50:28 +00:00
Michael Bayne 5774f1b6a5 Removed verbose logging. Didn't discover anything useful with regard to
disconnects.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2923 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-19 18:30:23 +00:00
Michael Bayne 1bdfb805ab We can't do this, currentTimeMillis() will return bogus values such that
the math appears to work out even though time stopped. We can use
RunAnywhere.currentTimeMillis() which will warn if time goes backwards but
since when that happens the IntervalManager stops dead in it's tracks,
we'll never get ticked to find out about it. Fucking Windows.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2911 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-13 02:56:29 +00:00
Michael Bayne 3af7167f2c Track and report whether we go long periods of time without being ticked.
We should be ticked every five seconds.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2909 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-13 02:50:12 +00:00
Michael Bayne 62e0e9cf37 Add a single method that we call in the various circumstances where our
client object has been updated so that the 90% of the directors that just
need to know any time that sort of thing happens so that they can listen
on the current client object can easily and robustly do so.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2907 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-11 21:36:12 +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 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 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 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 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 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 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
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 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 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
Ray Greenwell 829f3ad0eb Start transactions outside of the try-finally clause so that if there
is a problem with starting a transaction, we don't get an exception
for failing to commit the transaction.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2712 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-16 18:03:30 +00:00
Michael Bayne 030545b8eb Thanks to Mr. Lundberg's insight, we have tracked down a gross oversight
in the low-level invocation services whereby after a disconnect, any
InvocationReceiver registration would be wholly ignored due to the
previous registrations being left in the receivers set and DSet refusing
to add duplicate instances of the registration. This wasn't immediately
apparent because the initial set of registrations always happens in the
same order and thus are equally useful after the reconnect and any other
registrations are removed during the normal course of affairs. But if a
user disconnects *during* a puzzle, they will leave that puzzle's
registration around and be unable to play that (or any) puzzle again until
they log off and back on.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2707 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-12 22:34:03 +00:00
Michael Bayne 55a40d7161 We need to know about unregistrations as well.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2703 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-11 03:13:30 +00:00
Michael Bayne 7047bcfaf5 Log when we register an invocation decoder because we're seeing
circumstances where they aren't around when they should be.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2702 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-11 03:02:46 +00:00
Michael Bayne ab2a627f1a Report our time calculations always so that we can do a better job of
debugging weird server delta calculations.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2665 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-18 17:17:21 +00:00
Ray Greenwell d1e2c532e4 Fixed typo with previous checkin. Must get sleep.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2640 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-05 00:33:43 +00:00
Ray Greenwell 7dd942b673 Start out the ping interval id at -1 so we can tell if it needs to be
unregistered.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2639 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-05 00:29:45 +00:00
Ray Greenwell 6cb3d605d7 Be sure to unregister the interval, even if the the reader exits before
we logoff.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2638 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-05 00:26:16 +00:00
Michael Bayne d76d4e89ff Make it possible to have a distributed object destroyed when its last
subscriber is removed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2602 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-22 17:23:53 +00:00
Michael Bayne 5bccc8482c Report the computed server/client time differential.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2593 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-20 19:07:52 +00:00
Michael Bayne 5dd245dadf Make sure our socket connection is closed if authentication fails.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2399 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-10 22:02:59 +00:00
Michael Bayne 36624d96ac Finally got around to making compound events actually stick together until
they arrive at the client. Mmm... network efficiency++.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2396 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-10 17:48:42 +00:00
Michael Bayne 91146a6805 Added support for registering, on a per class basis, a delay which will be
observed after the last subscriber of a matching distributed object has
been removed. Our client's subscription will not be flushed until after
the delay has expired, and only then if no other subscriber has come along
requesting the object in the meanwhile.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2303 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-03-11 04:43:14 +00:00
Michael Bayne ef525ebad9 Modified DSet support such that additions, updates and removals are
applied immediately on the authoritative copy of the object (the one on
the server). We already do this for all other object modifications (except
OidList which is kind of special anyway), but we should be wary of
potential wickosity.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2302 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-03-10 18:29:54 +00:00
Michael Bayne 5e6ee6e8d9 Created a couple of basic directly usable InvocationListener derivations.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2296 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-03-04 01:26:30 +00:00
Michael Bayne ebfdc80977 Shoot the bootstrap out the debug log.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2224 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-28 04:24:16 +00:00
Michael Bayne 9bbe02c4cb Remove objects from the local object table when we remove their last
subscriber so that we don't hand them out as happily proxied objects to
subsequent subscribers that might come along before we receive our unsub
ack. We do still maintain non-acked objects in a dead table so that we
know when to warn about undispatchable events and when to ignore them.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2210 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-22 02:02:04 +00:00
Michael Bayne 27197cae5b Log when receivers are added and cleared because we're seeing receiver
registration funny business.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2206 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-21 22:10:41 +00:00
Michael Bayne 8bafb6fd32 Specifically ACK unsubscribe requests so that we don't see a bunch of
warning messages saying that we couldn't deliver events on the client that
come in after all client-side subscribers have been removed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2204 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-21 22:02:37 +00:00
Michael Bayne ce85e2a157 Adjust should be static.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2203 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-21 05:27:48 +00:00
Michael Bayne b246384262 Enable toggling of network event logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2200 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-21 00:17:16 +00:00
Michael Bayne b94763bdbf A repository for preferences for the presents package.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2199 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-21 00:16:36 +00:00
Walter Korman 90a919720a Removed code to disallow adding an observer more than once since the
observer list now takes care of that.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2064 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-12 23:56:36 +00:00
Michael Bayne 42110dc8da Remove invocation receiver mappings from the receivers table when they are
unregistered. Flush invocation listener mappings after an expiry period if
they were not already removed by virtue of receiving a response.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2040 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-08 02:18:50 +00:00
Walter Korman b7e24b0b63 Fixed javadoc comment.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2024 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-04 22:04:46 +00:00
Michael Bayne 45fb96c4f2 Rewritten to use the Java NIO library rather than the Berkeley NBIO
library. 100% pure baby! At least for the moment.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1958 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-18 18:53:10 +00:00
Michael Bayne 2f7399ed68 Added support for specifying a version string during the client
authentication process.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1870 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-31 18:44:34 +00:00
Michael Bayne 8252efeed1 No more ping verbosity.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1868 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-30 18:46:33 +00:00
Michael Bayne 98d19e055a Added facilities for idling out clients that have not communicated with
the server in 90 seconds. The client is set up to ping the server if it
has had nothing to say to it for other reasons in the last 60 seconds.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1860 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-29 23:51:26 +00:00
Michael Bayne e166a3efff Debug logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1847 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-27 22:24:20 +00:00
Michael Bayne 7aa16f09e0 Removed obsolete comment.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1845 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-27 22:19:21 +00:00
Michael Bayne 14a313486b Documentation repairs.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1842 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-27 18:49:51 +00:00
Michael Bayne 7ce6ca340e Clear out clobj when we're logged off; keep cloid up to date; don't claim
we're logged on until we're fully logged on (meaning we have our clobj
reference).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1818 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-21 18:04:56 +00:00
Michael Bayne dfd499582e Removed vestigal field.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1789 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-08 22:00:27 +00:00