Commit Graph

111 Commits

Author SHA1 Message Date
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
Michael Bayne bf25816235 More info (though this message will eventually go the way of the debug).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1737 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-23 18:19:07 +00:00
Michael Bayne bdd49a4b3f Moved clientObjectDidChange() into SessionObserver because anyone
observing the session is likely to need to know about that sort of thing.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1719 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-20 00:54:39 +00:00
Michael Bayne ba4985053f Revamped "persona selection" support. Things now actually work, and in as
sensible a way as we can hope for.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1717 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-19 23:36:59 +00:00
Michael Bayne e54a4d41f4 The great invocation services rethink of 2002! Rearchitected the remote
method invocation services and converted everything to the new style.
Could this be my biggest checkin ever?


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1642 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-08-14 19:08:01 +00:00
Michael Bayne c3191b9170 Brought code into line with the new streaming world order.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1606 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-23 05:52:49 +00:00
Michael Bayne 18039887b4 Added a debug hook for dumping all objects in the dobj table.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1580 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-17 01:54:16 +00:00
Michael Bayne 40cbabe20c Report when the connection fails.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1570 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-12 03:49:02 +00:00
Michael Bayne 4368463907 Created a SafeInterval that requeues itself on the client invoker thread
(the main client thread, which will generally be the AWT thread unless the
client is being used in a situation where there is no AWT) to avoid bad
thread clashy.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1424 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-06-05 02:50:57 +00:00
Michael Bayne 67492e13f0 Modified client observer notification process to:
a) use an ObserverList in SAFE_IN_ORDER_NOTIFY mode which circumnavigates
any funny business like observers being added or removed while we're
notifying the observers.

b) require that the clients be notified on the main client thread
(generally the AWT thread) by using the invoker; we had a problem
previously where clientDidLogoff() was being called by the communicator's
writer thread which caused all hell to break loose because everything
outside the client networking layer depends on running on the same thread.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1422 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-06-04 16:34:24 +00:00
Michael Bayne 3ff72e8a58 Fixed typo in comment.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1405 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-29 18:44:36 +00:00
Michael Bayne 587e89ef24 Created services for distributing delta times over the network which are
interpreted according to a globally established base time.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1404 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-28 23:14:06 +00:00
Michael Bayne 9b88def20b Took out the server ticks business because we're going to do delta times
in a more general purpose manner.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1403 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-28 22:54:43 +00:00