Commit Graph

70 Commits

Author SHA1 Message Date
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 0309b23a69 Restructure try/finally blocks to ensure that we don't attempt to release
a transaction we were never able to start.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1771 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-04 01:31:43 +00:00
Michael Bayne ed0693a8e7 Clear out our speak service registration when the place object goes away.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1725 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-20 04:53:14 +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 bf239bde95 Update the username in the body object when it is changed in the client.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1686 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-17 01:23:09 +00:00
Michael Bayne 8d0e764485 Whoops! addTo not update.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1680 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-13 05:11:59 +00:00
Michael Bayne ba88c02650 We need to clone the occupant info *every* time we update it, even the
first time.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1679 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-13 05:08:00 +00:00
Michael Bayne 335ef8eb05 New occupant info handling facilities that prevent rapid fire modifiers
from stepping on one anothers' toes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1676 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-13 00:20:43 +00:00
Michael Bayne 99edb5cd5e Regenerated services and receivers to fix bugs and use updated templates.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1659 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-08-20 19:38:16 +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 b32ca52809 Fixed up logging; added code to mark a location as reserved when we return
it from a call to getUnoccupiedLocation(). Anyone can move into the
location (regardless of who reserved it), but it won't be reported as
unoccupied until someone enters it and leaves from it once again.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1520 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-06-20 22:38:58 +00:00
Michael Bayne fadf226677 Added convenient where() method to PlaceManager which is used when logging
errors to report the "place" in which the error happen. The SceneManager
overrides this to include scene information. Scrupulous use will make log
messages much more scrutable.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1514 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-06-20 22:12:23 +00:00
Michael Bayne 97197d49cc Added support for initiating a place/scene/zone transition from the
server; chat director no longer needs to wait until we're logged on to
register itself with the invocation director.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1393 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-26 02:24:46 +00:00
Michael Bayne 16d4bfabca Demoted some log messages to debug.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1387 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-24 05:58:55 +00:00
Michael Bayne 9abf440dde If the client asks to move to the location they're already in, just go
along with them rather than sticking a fork in the program.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1325 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-02 21:19:28 +00:00
Walter Korman 4fc5f574d8 Added facility for enumerating the body objects for all active users on
the server.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1274 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-18 00:44:50 +00:00
Michael Bayne 47a5ad9fb7 We no longer need to set up our occupantInfo set with the type of object
it holds and we can now create custom occupant info classes depending on
the body that is entering the place.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1270 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-17 22:02:08 +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 7ccb9594b9 Changed DSet.Element to DSet.Entry in preparation for the addition of
array element update support. (Arrays have elements, sets have entries.)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1133 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-18 23:21:26 +00:00
Michael Bayne c278bd3183 Be a good monkey and call super.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1088 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-05 05:45:53 +00:00
Michael Bayne 9e16e87a69 Doris the refactorasaurus. Restructured the whole client object resolution
process so that it can be done by other entities than just the client
management services. Coordination between these parties is managed so that
no toes are stepped on in the course of loading and unloading clients and
everything is generally much nicer.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1086 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-05 05:33:25 +00:00
Michael Bayne 5f18acd3d8 Modified distributed object attribute setting such that attributes are
*always* set immediately because after some deliberation, we decided that
doing that led to less unexpectedly annoying behavior than having to wait
for the event to propagate to see the new value.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1062 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-20 23:35:42 +00:00
Michael Bayne 88a4dc157a Fixed up the didShutdown() business which was happening twice; moved the
delegation into the base callback methods.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1001 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-14 18:08:53 +00:00
Michael Bayne a85a6f1394 Delegation! Since it's clear that extracting services into delegation
classes is only going to become more common, I've gone and created a
comprehensive facility for creating and using delegates in the place
controller and manager as well as the game controller and manager. With
the pattern nicely set, it is also easy to extend to controller/managers
further up the hierarchy that might need to delegate special methods of
their own. Whee!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@994 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-13 03:21:28 +00:00
Michael Bayne 9d72060717 Added setFooImmediate versions of BodyObject setters and use
setUsernameImmediate in sessionWillStart() so that entities later down the
line of session startup processing can reference values set earlier in the
process without having to wait for them to be applied by the dobjmgr.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@920 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-03 03:09:06 +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 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 cc21ad8679 Javadoc fixes and cleanups.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@623 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-18 04:27:56 +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 b632510cb1 Javadoc edits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@576 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-26 01:40:22 +00:00
Michael Bayne 96b0faff38 Forgot to implement ObjectDeathListener.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@546 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-24 01:00:09 +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 fb587d2190 PlaceManager now downcalls to let derived classes know when it becomes
empty. Some derived classes will probably want to commit suicide at that
point.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@539 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-24 00:38:01 +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 60c829d921 Removed the PlaceObject argument from MessageHandler.handleEvent. You
already have that around in 99% of the cases that you're implementing
message handlers and you more likely have it casted to the type you're
interested in and don't get any use out of that extra argument and have to
import PlaceObject when you might not otherwise have had to.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@453 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-12 19:30:44 +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 ce5bcd95d5 Can't report unhandled events or event just message events because there
are a number of them that just aren't meant to be handled by the place
manager. Alas.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@417 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-09 18:41:01 +00:00
Michael Bayne 61a2c30859 Structured handleEvent() so that we can report unhandled events.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@407 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-09 17:18:44 +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 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 4c77daa2b2 Make sure we have message handlers before we go looking at them.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@302 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-21 22:34:20 +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
Walter Korman 59a6b2b723 Fixed javadoc syntax.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@287 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-21 01:17:25 +00:00