Commit Graph

35 Commits

Author SHA1 Message Date
Michael Bayne ebc99935d5 If we're going to do this, I guess we're going to do it properly. Nixed the
notion of a global group (though we implicitly define one in InvocationCodes)
added a mechanism for directors (which generally handle the client side of
invocation services) to register their interest in bootstrap service groups so
that the whole goddamned complex business can happen magically behind the
scenes.

If you instantiate a director, it will automatically register interest in the
service group it needs and everything will work. If you don't use the director
code, you don't get the services and you can safely exclude all of that code
from your client even though the services are still in use on the server (and
presumably used by some other types of clients).

This is going to break all the builds, which I'll soon fix. Then I'll go write
all this in ActionScript. Yay!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4552 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-11 01:17:30 +00:00
Michael Bayne bc9f53396c Revamped distributed object creation. There was no particular reason to create
distributed objects by reflection since we don't allow clients to create
objects, furthermore we needn't do it asynchronously. The object creation
methods were moved into the server-side only interface and made "immediate", so
the caller creates a derived instance of DObject and registers it with the
system instead of creating it with a Subscriber callback.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4342 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-08-23 23:46:48 +00:00
Michael Bayne bdadd2377e Behold, TAPOAFTSM! The Awesome Power Of A Fully Type-Safe Mothership.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4246 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-05 00:56:16 +00:00
Ray Greenwell de892e0187 Catch exceptions in a few tender places during creation of a place and try
to log information.
There was an exception in here somewhere that froze a big tourney last week
but the stack trace was optimized out by hotspot (damn thee!). Hopefully
this will at least narrow it down, and possibly prevent total brokenness.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3681 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-08-12 22:22:13 +00:00
Michael Bayne a6d7764e29 More custom classloader support. We now have a proof-of-concept working so
it's unlikely that the rabbit hole will surprise us with further depth.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3269 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-10 02:54:26 +00:00
Michael Bayne c92a922678 The rabbit hole goes deeper. Now we can configure the client with a custom
classloader to use when unserializing objects off the network. Also fixed
the way custom classloaders were used as Class.forName(class, true,
loader) seems to be the proper way to go to have caching work and whatnot.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3268 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-10 01:23:44 +00:00
Michael Bayne f16beaa0a1 Allow custom classloaders to be used when loading PlaceManager
implementations and their ilk.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3267 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-10 00:41:38 +00:00
Michael Bayne 1f8c4578b7 LGPLed the library. Hello world.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3098 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-08-27 02:12:55 +00:00
Ray Greenwell bfe9cbba04 Changed the variable named "enum", since that's a keyword in jdk 1.5
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2964 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-22 18:52:33 +00:00
Michael Bayne 3d5ab0c79a The #1 most popular Narya log message gets the can. No need to hear about
this 50,000 times a day.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2759 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-09 04:56:35 +00:00
Michael Bayne bb22856f76 Changed get...() to enumerate...().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1873 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-31 21:32:15 +00:00
Michael Bayne 061c73c64e Place managers may need a chance to clean up after a failed permissions
check; so we give them a callback for such contingencies.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1780 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-06 03:31:16 +00:00
Michael Bayne f3385ad3a8 Perform the permissions check.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1779 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-06 02:37:58 +00:00
Michael Bayne 4da35c0f0b Provide a means by which a place manager can check, early in the
initialization process, whether or not it actually wants to be created,
and allow it to abort the whole deal if it doesn't.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1777 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-06 00:44:58 +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
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 b486315e47 Revamp! Modified the way configuration is handled.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1166 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-28 22:32:34 +00:00
Michael Bayne 6e962013a9 Minor cleanups; added PlaceManager to MessageHandler callback.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@773 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-14 00:11:18 +00:00
Michael Bayne 69b4f7fa86 Modified location services such that the registry and the provider are
supplied with the managers they need at initialization time and such that
the location provider is automatically registered by the place registry
rather than requiring you to put a line in a config file which was a silly
idea in the first place.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@729 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-04 01:02:59 +00:00
Michael Bayne fc3d4dbd43 Log a briefer description of the place manager when it's unmapped.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@596 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-07 10:47:55 +00:00
Michael Bayne ac62348afc Modified shutdown handling such that the place manager now listens for
place object death and lets the place registry know to unmap it during its
shutdown process.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@544 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-24 00:57:39 +00:00
Michael Bayne bf777349cc PlaceRegistry now finds out about place destruction and unmaps the place
manager accordingly.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@538 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-24 00:37:24 +00:00
Michael Bayne 3a4d8f7d77 Added facilities for observing the creation of the place object.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@507 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-19 22:02:20 +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 63191ec610 I love to make vast, sweeping changes. Now the place services incorporate
a place config object which is used to determine the classes of the place
manager and the (newly added) place controller.

Moved PlaceView and PlaceViewUtil into cocktail.party.client from
cocktail.party.util because the controller and the UI (in very abstract
form) are now part of the place services.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@399 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-05 23:57:26 +00:00
Michael Bayne 1f663669c9 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.

Also modified PlaceManager and PlaceRegistry such that there is no
Properties object supplied for configuration (let the derived classes sort
out how they want to configure their managers) and so that the
PlaceManager tells the PlaceRegistry what sort of PlaceObject derived
class it wants to manage rather than having that come from the
configuration.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@374 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-02 02:07:50 +00:00
Michael Bayne 043cb46a4d Start up the place manager *after* we've put it into our place table.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@294 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-21 19:38:06 +00:00
Michael Bayne 2f7f106271 Server side of occupant management stuff.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@269 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-16 04:28:36 +00:00
Michael Bayne 5daf0d734f Throw an instantiation exception rather than returning null if there's an
error while creating a place manager.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@227 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-11 04:03:25 +00:00
Michael Bayne d6e9207a26 Need ability to enumerate over place managers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@142 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-02 01:48:08 +00:00
Michael Bayne 51665c58d8 Return a reference to the place manager after creating a new place.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@140 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-02 01:21:03 +00:00
Michael Bayne ad506a13d5 Added mechanism for passing configuration information in to place
managers. This will be used for dynamic server side configuration and an
additional mechanism will provide for dynamic client side configuration.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@137 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-01 20:37:35 +00:00
Michael Bayne 9653971ddd Documentation updates; name changes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@136 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-01 17:00:59 +00:00
Michael Bayne 51f410cbd9 Initial pass at place registry and place manager stuff.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@135 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-01 03:22:54 +00:00