Commit Graph

272 Commits

Author SHA1 Message Date
Mike Thomas b38081f60a Bugfix: Clusterrecords were potentially being removed from the hash in the middle of an iteration without using the iterator's safe removal method. This resulted in an array-OOB exception.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3953 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-03-16 18:45:40 +00:00
Michael Bayne 58cbfb6db1 Regenerated using the new Ant-task-based generator.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3914 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-03-06 21:51:59 +00:00
Mike Thomas 6aa865f51b Was a little too overzealous on the errors during change-location calls. Times when the user is already there or already moving should just be silently ignored to avoid flooding the user with extraneous feedback. Also, use a better error for the case when they just somehow aren't currently in a scene.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3890 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-02-24 19:51:11 +00:00
Mike Thomas cd7e127bc6 Marking another invocation listener where we don't care there's no response.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3860 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-02-17 01:08:01 +00:00
Mike Thomas f449e2e77d Changed Exceptions to InvocationExceptions to invoke translation of error reason messages.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3852 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-02-14 21:57:39 +00:00
Mike Thomas ccce88790a Function wasn't informing listener of failures.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3850 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-02-14 21:46:28 +00:00
Ray Greenwell 17987537f4 Provide a convenient method for indicating that a listener does not
need to be responded to. It turns out that a listener may not be
a marshaller if a server entity is calling a service request method
directly.  The convenience method handles this and is also cleaner looking
for callers.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3832 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-02-04 03:49:53 +00:00
Ray Greenwell 94ee4c7e9f Fixed two last cases of ignored listeners that ice testing has uncovered.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3812 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-01-19 01:50:42 +00:00
Ray Greenwell 918c61c77e Another place where we ignore a listener.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3811 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-01-19 01:43:12 +00:00
Ray Greenwell 852620bea4 Regenerated marshallers with new response-tracking code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3793 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-12-21 02:12:57 +00:00
Michael Bayne d57adeca1c Big fat bernie OccupantInfo revamp. Now:
- OccupantInfo is created by the BodyObject
- the BodyObject is passed to the OI constructor and it uses information
  therefrom to configure itself
- the PlaceManager are no longer responsible for indicating the type of
  OccupantInfo to use or how to populate it.

This makes much more sense as the same type of OccupantInfo is generally used
across the entire system and it's annoying to have to have every PlaceMaanger
derived class know the type of OccupantInfo to create and know how to
initialize it. The one drawback is that only information from the BodyObject
can be used to populate the OccupantInfo, unpublished server-side only
information cannot be used (unless its stuffed into a transient field in the
BodyObject).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3774 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-12-03 03:05:06 +00:00
Ray Greenwell ee4d43e76f Here too, _nondb is unsafe.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3760 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-11-15 03:08:23 +00:00
Michael Bayne 176329e1ed Various updates to allow a system where a user's visible name is not the same
as their authentication name (which we leave in BodyObject.username). This
turns out to be simpler than the system we adopted for Yohoho wherein we
replace the player's user object after they select a character, but converting
to this sort of system is way more work than would be worth it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3758 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-11-10 23:18:58 +00:00
Michael Bayne 596d2a4708 blank() -> isBlank().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3749 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-11-09 04:00:16 +00:00
Ray Greenwell 078e131c16 Force us to unsubscribe to our cluster when we log off.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3727 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-10-12 19:12:37 +00:00
Ray Greenwell 5bd90aa797 Stop using TrackedObjects.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3726 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-10-11 19:17:43 +00:00
Ray Greenwell 7f34a9cfaf Catch and log runtime exceptions when finishing a move-to request and
inform the client that the shit hit the fan so that it's not locked from
making any other move requests.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3703 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-09-16 00:36:21 +00:00
Ray Greenwell 6e07b60f48 Fixed code to detect invalid updates to not totally hose everything:
it was trying to print where() which failed because it was doing so
before all the values were intialized.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3680 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-08-11 22:33:22 +00:00
Ray Greenwell b95a8056d1 Let's log a stack trace so that we can see where the damn error is, instead
of having an error triggered right after this one that happens to print
a stack trace look like the matching stack trace for the original error.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3679 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-08-11 22:30:40 +00:00
Andrzej Kapolka 58bf15f3e8 Added persistTo/unpersistFrom methods for persisting updates.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3652 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-07-21 02:23:45 +00:00
Ray Greenwell fa2ad0fa6c Fixed two bugs with the messages related to shunned players.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3460 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-07 02:19:07 +00:00
Michael Bayne 1c0260198d The adding of portals to scenes needs to be handled somewhat differently
now that all the scene updating stuff has been cleaned up. Basically we
can't rely on the updating process itself to assign a portal id, updates
must be created with all the information they need before they are applied
to the scene.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3451 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-31 19:40:55 +00:00
Michael Bayne 0bf43bc2e8 Step two in the great Stage refactor. I don't know how many steps will be
needed all told, but I like to see the number keep going up.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3438 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-29 23:18:59 +00:00
Ray Greenwell c36ebdc8d4 A-ha, found the further source of the walk-on-water bug, which is that if
you had logged on to one ocean and then moved to another, the previous
ocean's sceneIds are still in the scene cache.

Fix: Clear the scene cache both when we log off and when the scene repo is set.

Also, I made the cache be a LRUHashMap holding a measly 5 scenes.
Why are we filling up memory on the client with scenes that may or may not
ever be revisited?


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3385 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-09 22:06:38 +00:00
Michael Bayne c2e2661e66 Further refinement of the permissions system. Eliminated the
CommunicationAuthorizer and rolled that into the BodyObject-based
permissions system. A victory for consolidation and elegance.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3380 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-03 04:47:57 +00:00
Ray Greenwell 708431bf86 Allow the SceneFactory to be set after construction.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3368 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-25 00:59:35 +00:00
Michael Bayne 44f2a29f4f Regenerated with updated copyright information.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3365 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-22 18:56:52 +00:00
Michael Bayne 53be9a74ca Added more sanity checking to portal traversal to avoid spurious error
messages if repeat requests come in or for some reason the client and
server ever differ in opinion as to which scene the player is in.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3363 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-22 18:54:48 +00:00
Michael Bayne 93794d5a77 Fixed some comment grammar.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3351 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-15 01:02:17 +00:00
Michael Bayne 877892b4c8 Allow the ZoneManager to veto a body's departure from the zone.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3350 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-15 00:58:16 +00:00
Michael Bayne 113ca65f7a We need to know who did the dirty deed.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3346 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-10 22:47:56 +00:00
Michael Bayne d2ea985abb Regenerated invocation receivers; fixing a javadoc booch in the process.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3311 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-24 23:13:00 +00:00
Michael Bayne afabea71ad Big fat Bernie javadoc cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3310 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-24 23:08:21 +00:00
Ray Greenwell b295fb2630 Regenerated with non-NPEing code.Regenerated with non-NPEing code.Regenerated with non-NPEing code.Regenerated with non-NPEing code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3300 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-08 22:05:00 +00:00
Michael Bayne 61c0dde5d5 Regenerated the distributed objects with the new clone happy bits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3295 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-05 06:46:11 +00:00
Michael Bayne 55a0ab91f7 Regenerated our DObject derivations in the new world order.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3288 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-28 03:51:29 +00:00
Ray Greenwell bd80c348eb The great Interval revamp.
There is no more SafeInterval, instead Intervals can be constructed with a RunQueue to use for expiring.
PresentsDObjectMgr implements RunQueue.
Client has a getRunQueue() method to get the client side RunQueue.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3283 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-22 19:23:00 +00:00
Ray Greenwell e95f1e8914 Fixed booch-o that caused the cluster no-can-chat bug.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3257 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-02 22:06:05 +00:00
Michael Bayne bf9582e31c Regenerated everything in alphabetical order.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3244 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-11-26 23:14:39 +00:00
Michael Bayne a04e23e025 Regenerated our marshaller and dispatcher classes with the new Java-based
generator. It handles inner classes slightly differently and prepends a
project-specific header to the generated classes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3239 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-11-25 04:47:40 +00:00
Michael Bayne 8451c39797 Added missing copyright headers to the .dobj files.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3218 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-11-17 23:16:56 +00:00
Michael Bayne c8a66a4414 Don't assume we'll have a ClusteredBodyObject when we first log on.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3207 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-11-11 02:10:56 +00:00
Michael Bayne 09d41faa37 Javadoc cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3193 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-10-30 04:33:22 +00:00
Michael Bayne 36a629c5e9 More ...Equal() -> ...() and ...() to ...Ref().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3171 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-10-23 17:36:32 +00:00
Michael Bayne a9720fd905 LGPLed the library. Hello world.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3099 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-08-27 02:21:06 +00:00
Michael Bayne a2ae7d499d Track more objects!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3091 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-08-23 21:05:04 +00:00
Ray Greenwell 7033108662 Fixed the bug whereby someone hears a cluster that they've long left.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3073 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-08-13 21:46:46 +00:00
Ray Greenwell ec022ed1b2 Ask the SceneProvider to handle a moveBody request if the body is already
in the correct zone.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3064 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-07-30 21:13:41 +00:00
Michael Bayne 1da753e14d Brought things up to date with the latest Jakarta Commons world order.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3058 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-07-13 16:34:49 +00:00
Michael Bayne e1d5b096ed Invoker refactoring.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3041 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-06-29 03:22:22 +00:00