Commit Graph

93 Commits

Author SHA1 Message Date
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
Michael Bayne fc0300d80d Removed debug logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1401 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-28 22:07:13 +00:00
Michael Bayne 1492561985 Whoops, had that backwards.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1400 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-28 22:06:05 +00:00
Michael Bayne 2168067c74 Debug logging cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1399 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-28 22:05:52 +00:00
Michael Bayne 2f1a67077a Added code to establish the time delta between the client and server
clocks immediately following authentication.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1398 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-28 21:56:38 +00:00
Michael Bayne f0d7b8642b Need to ensure that we don't claim that the communicator is gone until
after both the reader and writer have exited (otherwise the reader could
exit before the writer which would result in the client chucking its
reference to the communicator which could subsequently bite us in the ass
if anyone tried to reference the client's distributed object manager when
the writer finally exited and triggered all of the clientDidLogoff
callbacks). Multithreaded programming is fun!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1396 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-27 01:37:07 +00:00
Walter Korman ab242f4a71 Fixed javadoc typo.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1368 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-16 18:17:27 +00:00
Michael Bayne b15d38b54d Relegated a shitload of logging to DEBUG status.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1361 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-15 23:54:35 +00:00
Michael Bayne 6df0ef6172 We need to do some fiddling when the invocation director is used on the
server by entities that are vaguely impersonating a client. Specifically
they need to fill in the event's source oid because their events are not
going through the client networking layer which takes care of filling that
in for real clients.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1261 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-16 21:37:23 +00:00
Walter Korman a97e9db978 Moved remaining client.*Codes classes into their respective data packages
as they are intended to represent codes shared between the client and the
server.  Made correspondingly necessary changes throughout.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1240 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-15 16:28:05 +00:00
Michael Bayne 462724f82d Log a stack trace per Walter's suggestion.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1231 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-11 01:41:04 +00:00
Michael Bayne 625fc79502 Restructured invocation director so that it can be used in the absence of
a Client instance.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1228 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-10 06:08:59 +00:00
Michael Bayne 04f83e779e Report the host and port to which we're connecting.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1124 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-15 19:11:14 +00:00
Michael Bayne 1d956214dd Added SessionObserver which is a pared down version of ClientObserver that
only reports logon and logoff.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1117 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-11 19:51:25 +00:00
Michael Bayne bcca494fdd Commented out some debug logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@986 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-10 04:19:34 +00:00
Michael Bayne 284e8ef6ed Made addObserver into addClientObserver because that's how we do it
everywhere else. Same thing for removeObserver.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@981 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-09 20:45:23 +00:00
Michael Bayne 1bca84927f Added support for DObject transactions which are collections of events
that are dispatched over the network at once and processed all at once.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@979 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-09 07:50:37 +00:00
Walter Korman bc6f66f6cd Added ObjectAction.toString().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@953 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-07 00:24:36 +00:00
Michael Bayne 80c9550a57 Added some debugging, but commented it out.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@895 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-01-30 18:30:43 +00:00