Commit Graph

85 Commits

Author SHA1 Message Date
Walter Korman cf101fad52 Don't need dobjmgr in BodyProvider's constructor.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1882 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-01 21:33:49 +00:00
Walter Korman 1c5165e44b Update a user's status in their occupant info via the place manager as
required, rather than directly in the place object.  Don't need dobjmgr in
constructor.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1881 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-01 21:33:21 +00:00
Walter Korman 9347fec9ce Populate newly created occupant info with the body object's status.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1880 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-01 21:32:23 +00:00
Michael Bayne 383d500f4b Created LACK_ACCESS error code; use it for chat.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1879 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-01 01:01:27 +00:00
Walter Korman f25c028cca Initial work on a body service to allow setting a user's idled state.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1877 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-01 00:39:18 +00:00
Michael Bayne 35f3173694 Added pluggable mechanism for feature-level access control.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1874 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-31 21:32:39 +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
Walter Korman f1c8ccd347 Added PlaceManager.applyToOccupants(), and a generic useful OccupantOp.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1869 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-31 01:12:08 +00:00
Michael Bayne 7adcf49ef3 We need to allow the caller to specify the location in which the users
status should be updated.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1864 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-30 00:47:19 +00:00
Michael Bayne 77ae8c7d0f Maintain user's status in their body object; also maintain a timestamp
that indicates the time at which their status became what it is.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1863 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-30 00:42:37 +00:00
Walter Korman a5576eed88 Factored out code to update a player's connection status to make it
available for use by derived classes, and because it's cleaner this way.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1840 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-27 02:04:50 +00:00
Walter Korman fec48b8586 Track a user's connection status in their occupant info so that we can
react to player disconnection, idle (implementation still pending), and
reconnection appropriately.  Added PlaceManager.bodyUpdated().


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1831 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-26 02:40:30 +00:00
Michael Bayne a0e9044e93 Config clean up and unification. The base servers were doing more than
they needed to and when all that was stripped away, they didn't really
need their own config files.

Now what little config they need is provided by the users of these basic
services so that said users can make their own decisions about where to
obtain configuration information.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1820 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-21 20:56:21 +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 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