Commit Graph

176 Commits

Author SHA1 Message Date
Michael Bayne 5ae6875bbb Added a note about listener registration management.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@440 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-12 00:05:31 +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 747f8b50fb Use the proper toString() method.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@413 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-09 18:17:52 +00:00
Michael Bayne e75e442f0c Make the bootstrap data available to external entities.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@412 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-09 18:17:33 +00:00
Michael Bayne b48e5b90a6 Created a list class that can be used to send around an ordered collection
of streamable objects. (They are manipulated all as one unit. For fine
grained distributed set management, use a DSet.)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@396 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-04 23:02:07 +00:00
Michael Bayne 20b6650dad Deal with a null arguments array being provided to invoke().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@393 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-04 20:02:13 +00:00
Michael Bayne 95f6bf7300 Modified client so that the invocation director is always around rather
than being created after we log on because other code will want to
register itself with the invocation director before we log on. The
invocation director now just handles being reinitialized which is what
will happen when we log off and back on.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@384 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-03 03:42:31 +00:00
Michael Bayne 09859cd1b9 Need to call super in toString().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@383 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-03 03:41:04 +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 ceca4b549a Modified Reader and Writer not to die if they have a problem reading or
writing a message.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@381 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-03 03:39:39 +00:00
Michael Bayne 3c3fd1abf4 Added ability to marshall Streamable instances.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@380 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-03 03:38:55 +00:00
Michael Bayne 76dfd550aa Modified to use MethodFinder (now provided by samskivert library) which
resolves methods based on the types of the arguments fully properly,
rather than in the half-baked way I was doing it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@379 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-03 03:38:21 +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 ec1cf5c667 Changed IntMap to HashIntMap.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@339 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-17 05:18:21 +00:00
Michael Bayne 2fc86f89b3 Documentation edit.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@336 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-13 19:08:30 +00:00
Michael Bayne 0a1e364e03 Created adapters for the ClientObserver and LocationObserver interfaces to
make handling just one or two of the callbacks for those interfaces
simpler.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@305 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-22 00:08:12 +00:00
Michael Bayne 2de7726c4e Removed unneeded import.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@303 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-21 23:26:21 +00:00
Michael Bayne c8e6606056 Need to reset our byte array output stream when we're done with it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@298 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-21 21:16:53 +00:00
Michael Bayne 70eb9480d8 Made element iteration work properly.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@291 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-21 19:35:56 +00:00
Michael Bayne a065652ac6 Unbooched subscriber array handling.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@290 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-21 19:35:02 +00:00
Michael Bayne 9ce3d894bd readExternal() should have been called readFrom().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@289 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-21 19:33:38 +00:00
Michael Bayne 67a3dabac2 Have the invocation manager pass the client object back to the client when
it is ready. Then the client hangs on to it because the invocation manager
doesn't really need to hang on to the client object.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@288 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-21 19:33:06 +00:00
Michael Bayne dac504c7bb Provide support for iterating over a DSet.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@283 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-21 00:58:26 +00:00
Michael Bayne abb831bca8 Provide access to the client object instance.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@282 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-21 00:58:10 +00:00
Michael Bayne b7b78e9f79 Wired up marshalling for DSet objects.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@277 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-20 21:44:10 +00:00
Michael Bayne eac3e9aa94 Edits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@268 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-16 04:22:50 +00:00
Michael Bayne 890bad996e Added ability to update elements in a set.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@266 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-16 03:45:43 +00:00
Michael Bayne 2179599bd6 Edits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@265 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-16 03:33:11 +00:00
Michael Bayne 55c4847a17 Added support for distributed sets: unordered collections of elements
where the elements are user defined objects that know how to read and
write themselves on a stream. Sets are required to contain elements all of
the same type to make network traffic more efficient (avoid sending the
classname every time an element is added or removed).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@264 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-16 03:31:09 +00:00
Michael Bayne 3aa5302b00 Moved the stream related methods into a separate streamable interface that
can be implemented by objects that are streamable but that don't have an
associated type code.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@263 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-16 03:25:14 +00:00
Michael Bayne 3c413b9f3d Added documentation; modified internal array management to use ListUtil.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@258 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-15 18:38:54 +00:00
Michael Bayne 1ba8fed46b Whoops. Need to create our queue before we use it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@239 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-14 06:48:31 +00:00
Michael Bayne 744a5f395d Created a utility function for easily looking up methods.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@238 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-14 06:48:08 +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 64691eda21 Look up invocation service methods using the full signature (arguments and
all) and no longer cache the lookups because creating the cache key would
be as expensive as reflecting the method.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@236 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-14 06:47:15 +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 23821aeff6 Created a class that makes it easy to run stuff off of the dobjmgr thread
and then deal with the results of it back on the dobjmgr thread.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@223 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-11 01:20:38 +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 8a67066c57 Do the right thing if subscribers remove themselves after we've been
destroyed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@217 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-11 00:11:53 +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 a668f65991 Fixed javadoc @see.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@203 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-09 00:59:53 +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