Commit Graph

61 Commits

Author SHA1 Message Date
Michael Bayne 5d2f302218 Created RootDObjectManager interface for those entities that want to look
up objects directly by oid. They, of course, must be on the server if they
are doing this.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@728 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-04 01:01:54 +00:00
Michael Bayne 16efe382bd Augmenting the AuthResponseData with server stuff turned out to be a bad
idea because that class is shared between the client and the server, so
instead we provide a blank object reference in which the authenticator can
provide whatever information it wants to the client services.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@723 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-03 22:01:57 +00:00
Michael Bayne a0ba41c31d Provide a mechanism for the authenticator to pass information to the
client object by way of passing the auth response data up to the client
after the completion of the authentication phase. This allows information
loaded by an authenticator (like a user record) to make its way into the
real world.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@722 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-03 20:14:51 +00:00
Michael Bayne ff94bd7799 Made it possible to disable client and connection managers for testing.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@609 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-08 05:39:51 +00:00
Michael Bayne d584566899 Removed bogus imports.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@606 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-08 02:59:30 +00:00
Michael Bayne 304e7bd4b4 Whoops. Missing an import.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@572 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-25 23:37:13 +00:00
Michael Bayne cd458fa3aa Moved the default server port into the client where it is accessible by
various entities rather than only server code.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@571 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-25 23:36:06 +00:00
Michael Bayne 57b2e93ac3 Modified DObjectManager.createObject() to not afford optional subscription
because subscription no longer means receiving events.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@537 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-24 00:36:40 +00:00
Michael Bayne c14b396edf Need to remove ourselves from the listener list as well as the subscriber
list now that we do both.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@492 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-18 18:41:29 +00:00
Michael Bayne 0994b27240 Forgot to implement MessageHandler.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@443 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-12 00:29:51 +00:00
Michael Bayne 804505890f We love to revamp! Created a set of listener interfaces which are used
with distributed objects rather than having a single handleEvent() by
which all subscribers are forced to hear about all events. Now one
subscribes separately and then adds onesself as any of a few types of
listener once they have access to the subscribed object reference.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@439 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-12 00:03:03 +00:00
Michael Bayne 8a4c46badc The first great Three Rings renaming. Cocktail changed to Narya, Cher
changed to Presents and Party changed to Crowd. Whee!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@431 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-11 04:07:54 +00:00
Michael Bayne 696065f104 Report failures in iterate() but don't let the thread die.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@416 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-09 18:27:25 +00:00
Michael Bayne 14b8654d3a Modified code that calls objectAvailable() to catch exceptions thrown by
the subscriber so that they don't throw monkey wrenches into anyone's
business.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@382 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-03 03:40:44 +00:00
Michael Bayne 6620936a04 We've always been at war with Eurasia. Changed InvocationManager to
InvocationDirector (please god let the renaming be done). Removed IntMap
and modified code to use samskivert's HashIntMap.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@375 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-02 02:08:16 +00:00
Michael Bayne f54628c2ba Added a ServiceFailedException for use by invocation services.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@372 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-01 23:06:23 +00:00
Michael Bayne 027bb29769 Created fooCodes interfaces to go along with invocation service
packages. These contain all the message codes as well as error response
codes that are used by a particular invocation service.

Also changed client.LocationManager to client.LocationDirector and
chat.ChatManager to chat.ChatDirector to go along with the new philosophy
of naming the client-side managing entity for an invocation service a
director.

Also elimitated cocktail.util.Codes since it's no longer used as a central
repository for codes (instead they are in InvocationCodes and its
derivatives).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@368 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-01 22:14:55 +00:00
Michael Bayne f4cc436137 Allow the throwing of Exception rather than IOException during the server
init process.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@360 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-28 22:32:28 +00:00
Michael Bayne e9909aa34f Log a stack trace when an invocation handler fails.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@237 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-14 06:47:38 +00:00
Michael Bayne f17562945f Check to be sure that the client is still around before we send the
invocation response. (Better to catch it and report it here than have the
dobjmgr complain when it tries to dispatch an event on a non-existent
object.)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@224 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-11 02:02:24 +00:00
Michael Bayne 7ad883b4f6 Added the ability to post runnable units of executable code onto the
distributed object manager thread. These are slipped into the normal event
processing loop.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@222 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-11 01:00:26 +00:00
Michael Bayne c0334d178d Comment fiddling.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@218 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-11 00:12:11 +00:00
Michael Bayne a44e552eb8 Modified invocation services such that providers are responsible for
delivering their own responses. They now have all the information
necessary to do so which means that they can delay the delivery of a
response until some other asynchronous event has taken place (like a
database load completing). Prior to this, they were required to complete
their service immediately and return the response back to the invocation
manager.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@216 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-11 00:05:58 +00:00
Michael Bayne b2d0ddee27 The conmgr now gets its listening port number from the config file.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@201 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-08 23:56:20 +00:00
Michael Bayne aa9799e8c6 Use inherited properties when we bind 'em.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@200 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-08 23:48:51 +00:00
Michael Bayne 5dfb32d739 Modified event helper mechanism to allow helpers to abort the event
dispatch. Added code to abort object added events that are trying to add a
non-existent object to an oid list. Wrote test driver for this and
duplicate object add request handling.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@196 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-08 21:56:48 +00:00
Michael Bayne 6fe9ad8a6e Finished wiring up oid list tracking; made shutdown() work on the cher
server; added an easy mechanism to write test modules and invoke them on
the server.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@192 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-08 00:28:49 +00:00
Michael Bayne 5320567957 Commented out some debug logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@190 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-07 21:25:13 +00:00
Michael Bayne 71de825456 Finished up session termination processing; added code to track
subscriptions and clear them out when the client disconnects.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@189 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-07 21:20:48 +00:00
Michael Bayne 782e9501d6 Implemented object destruction; wired up some missing stuff; created a
test server to make some testing easier; various other cleanups.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@188 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-07 20:38:58 +00:00
Michael Bayne 17135945d1 Had to modify the way control is transferred to the dobjmgr thread during
session resumption because the client is not subscribed to the client
object at that time. This way is cleaner anyway.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@185 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-04 03:26:00 +00:00
Michael Bayne 7688865b96 Modified client internals to ensure that sessionWillStart(),
sessionWillResume() and sendBootstrapData() are all consistently called on
the dobjmgr thread because that is the most useful. Added
sessionDidTerminate() but session termination is not implemented yet.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@177 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-04 01:54:34 +00:00
Michael Bayne 3990a2d4c3 Log a stack trace if we have a network error.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@164 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-03 03:09:58 +00:00
Michael Bayne 162b179fa7 Changed Client to CherClient.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@162 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-03 02:25:49 +00:00
Michael Bayne 9520eca656 Add hooks for derived classes to do things at the start of a client
session and when it resumes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@161 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-03 02:21:16 +00:00
Michael Bayne aa8011efce Use a really fast select time so that things are snappy when testing.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@159 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-03 02:12:52 +00:00
Michael Bayne ae73c73ac4 Commented out debug logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@158 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-03 02:12:27 +00:00
Michael Bayne a8ef12d483 Whoops. Was putting wrong thing in client map.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@126 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-25 17:59:30 +00:00
Michael Bayne b56a70ff34 Allow configuration to use derived class for Client and ClientObject.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@108 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-23 21:13:56 +00:00
Michael Bayne b22d3bb9bd Added convenience function for zero-argument response.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@107 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-23 21:13:29 +00:00
Michael Bayne 1c8e363f98 Preparing for the additions that will allow oid list tracking facilities
to be put in place.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@106 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-23 21:12:55 +00:00
Michael Bayne 5678b1edb6 Added code to load up configuration information at server init time.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@78 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-19 21:29:01 +00:00
Michael Bayne e912b18e27 toString()stravaganza!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@77 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-19 19:30:14 +00:00
Michael Bayne 41488822dc Modified invocation request procedure to provide a reference to the client
object that initiated the request. Implemented the invocation notification
side of things.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@76 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-19 19:18:07 +00:00
Michael Bayne f8ccff8f23 More progress on the invocation services.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@74 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-19 18:08:20 +00:00
Michael Bayne 406d181d1a Use a one second select loop delay for testing purposes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@73 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-19 18:06:57 +00:00
Michael Bayne d55ce27b2b Created a test service and provider and sorted out further details.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@71 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-19 07:48:25 +00:00
Michael Bayne 7238d75f89 Initialize _clobj member directly; pass proper subscriber to
createObject().


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@69 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-19 07:17:46 +00:00
Michael Bayne 915f3db6f1 More work on invocation manager; modified startup sequence so that server
can get shit together before bootstrapping the client.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@68 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-19 07:09:16 +00:00
Michael Bayne 6663aae772 Beginnings of invocation services implementation.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@67 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-19 05:56:20 +00:00