Commit Graph

59 Commits

Author SHA1 Message Date
Michael Bayne 63db77667a Some type safety, redundant cast removal, and other code hygiene.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4879 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-24 19:40:19 +00:00
Michael Bayne 8f81893a0c getFailureMessage() should be protected as it's not part of the persisting
unit's public API.

handleResult() and handleFailure() could also be protected but we're adapting
Invoker.Unit to something that appears to provide a different (persistence
friendly) public API even though the invoker doesn't actually call it, but
rather the normal Unit public methods call the new public methods. But we still
want to maintain the "feel" of these being the PersistingUnit's "main thing.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4839 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-10-08 23:55:51 +00:00
Michael Bayne 3c4c633b60 Created a ResultListenerList that maps the InvocationService.ResultListener
interface to a list of listeners. Also made RootDObjectManager a RunQueue so
that we can pass around references to the interface rather than requiring a
PresentsDObjectMgr.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4789 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-27 20:48:18 +00:00
Michael Bayne 68b65bad41 Create a ConfirmAdapter that expects a result but ignores it. The old
ConfirmAdapter becomes a trivial implementation that simply expects a Void
result.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4759 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-13 00:15:04 +00:00
Michael Bayne 01692e1fff Properly type this ResultListener.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4758 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-12 21:42:52 +00:00
Michael Bayne 447ddb01f8 An adapter to convert from an InvocationService.ResultListener to a samskivert
ResultListener.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4757 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-12 20:36:07 +00:00
Michael Bayne 102dd71f8d Widening.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4756 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-12 20:30:51 +00:00
Michael Bayne 63c5449b00 Widening.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4683 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-04 22:01:48 +00:00
Michael Bayne 09f0bee0f3 Yet more header patrol.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4602 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-24 00:39:27 +00:00
Michael Bayne 1d2c8ae7ac Allow a name to be provided to a persisting unit.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4316 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-08-10 22:03:06 +00:00
Michael Bayne 8afd0316ec I decided to go hog wild and clean up all the type use in Presents which
required some serious bending and folding of the generic type system, but for
the most part we managed to avoid any mutilating. The gendobj task now
generates properly typed "addToXXX" and "updateXXX" DSet methods based on the
parameterized type of the DSet. This might cause unrecompiled code to break,
but I don't think there are many cases in the base toolkit where people call
DSet adders or updaters. We'll see and I'll add backwards compatibility
versions for cases where we need them to support GG games (everything else we
can just recompile).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4245 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-05 00:55:05 +00:00
Ray Greenwell 79c6427c21 StringBuffer -> StringBuilder.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4191 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-13 22:42:20 +00:00
Michael Bayne 56216c27e8 Would you believe, more type-safety?
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4167 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-31 04:44:21 +00:00
Michael Bayne 73e0a05b5f An internal error should always be accompanied by a log message. We could rely
on the adpater user to sort that out, but it's easier to just log things here
and save everyone time and effort.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3814 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-01-19 22:45:11 +00:00
Michael Bayne 51d349295e Codified a common pattern into a helper class.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3784 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-12-15 04:20:22 +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
Michael Bayne 20acf36919 Removed in the spirit of maintaining the fewest lines of code. This can
effectively be accomplished with a combination of ResultListenerList and
ResultAdapter.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3250 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-11-28 17:03:53 +00:00
Michael Bayne 49b320716e A handy utility method.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3246 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-11-27 07:33:29 +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 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
Michael Bayne 86e2a25580 Allow invoker units to be easily named.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3022 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-06-13 08:03:45 +00:00
Michael Bayne b029b5d8c3 Clear our active flag before passing requestFailed() onto the subscriber
so that things go smoothly if they decide in requestFailed() to call
unsubscribe() in the course of their normal shuttings down.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2920 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-17 00:15:08 +00:00
Michael Bayne d425ec7abb Added isActive().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2914 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-15 17:12:11 +00:00
Michael Bayne f93c87cfb2 Properly manage the _pending flag in requestFailed().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2906 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-11 18:47:43 +00:00
Michael Bayne 810a6baf44 Make the safesub a little nicer about an unsubscribe() request that comes
on the heels of a requestFailed(). They don't have to do it, but it's
easier to just always call unsubscribe() whether things succeeded or
failed, so we'll quietly allow an unsubscribe() even if we have no object
or nothin'.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2905 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-11 18:46:02 +00:00
Michael Bayne 0bbb6759db Yes kids, it's important to be safe when you're playing in the dangerous
playground of distributed object subscription.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2904 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-11 18:36:55 +00:00
Michael Bayne b4ad08ad81 Hell, let's give 'em 10000. We blow through that many distributed object
events in 500 milliseconds.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2892 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-04 18:42:40 +00:00
Michael Bayne fcef745724 We use fast computers, let's give 'em 1000 loops.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2891 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-04 18:41:59 +00:00
Michael Bayne 30190bfd85 Provide a config instance via which we can communicate customizations down
to various and sundry services.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2864 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-11-24 17:51:08 +00:00
Michael Bayne 6b2c9cde14 Report the toString() output on long runners.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2822 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-10-08 04:10:29 +00:00
Michael Bayne fe588b291b Report long running invokers if we're tracking their run duration.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2808 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-09-24 17:10:49 +00:00
Michael Bayne 442a2a5759 Added missing newline.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2779 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-18 21:38:07 +00:00
Ray Greenwell 6c3ad0b329 Also count how many times we find ourselves at the top of a non-empty
queue and end things if it gets out of hand.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2745 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-08 03:23:43 +00:00
Ray Greenwell b59b9b5954 New very safe shutdown scheme. An Invoker.Unit runs on both the Invoker
and dobj thread until they're both empty (or it has been passed 50 times)
and then shuts the threads down.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2744 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-08 03:11:55 +00:00
Michael Bayne f26dc2ab9c Adapters! We loves the OOP.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2684 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-26 18:24:31 +00:00
Michael Bayne ef04c6e873 Track time spent invoking units and report it in the server report log.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2398 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-10 21:04:55 +00:00
Michael Bayne b20a6633b9 Modify the dobjmgr and invoker such that they process the rest of their
queue and then shutdown.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2365 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-03-31 04:11:24 +00:00
Michael Bayne 96e2afe24f Name our invoker thread just for kicks.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1775 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-05 23:35:21 +00:00
Michael Bayne c3191b9170 Brought code into line with the new streaming world order.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1606 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-23 05:52:49 +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 1bf6e6093d Added support for streaming arrays of streamables; extracted the efficient
streamable serialization code from PolyStreamableList and made it
generally available; modified the StreamableArrayList to support
heterogenous lists (because they don't have much more overhead than
homogenous lists now) which allows us to remove PolyStreamableList
entirely.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1140 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-20 22:58:26 +00:00
Michael Bayne 357a8e5949 Documentation cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1139 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-20 19:07:15 +00:00
Michael Bayne 7dc7545541 Pass the dobject manager to the invoker at construct time.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1084 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-05 03:17:46 +00:00
Michael Bayne a4283fd756 Report the actual error when we can't look up a method.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@985 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-10 02:13:31 +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 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 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 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 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