Commit Graph

94 Commits

Author SHA1 Message Date
Andrzej Kapolka bd6a35677a Track datagrams received out of order and missed datagrams.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6047 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-03-18 20:36:25 +00:00
Dave Hoover fdf51a634a Welcome to the future.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6008 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-01-04 21:47:46 +00:00
Michael Bayne 6e9077780c Added/updated source headers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5829 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-06-20 21:09:34 +00:00
Andrzej Kapolka 37801c3cf0 Avoid creating sublist when unnecessary.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5815 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-06-04 21:52:24 +00:00
Michael Bayne 3f19fcacf2 Moved Lifecycle to samskivert (my initial desire to do this came from a
non-work project). I promise to stop fooling around now.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5805 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-27 19:16:49 +00:00
Michael Bayne e87c86dc2c Let's make the Lifecycle a bit more abstract and decouple it from all the
server business. I'd move the whole kit and kaboodle to samskivert but that
would mean moving the DependencyGraph as well...


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5804 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-27 19:09:47 +00:00
Dave Hoover e13aca6570 Prune trailing whitespace & foreachize loops.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5799 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-23 01:56:35 +00:00
Dave Hoover b222eed2fd A healthy dash of google-collections
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5798 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-23 01:04:08 +00:00
Andrzej Kapolka 1bdb2cae16 Added methods and @Intern annotation to stream pooled strings (a
la String.intern) as we do class names, by sending the value the 
first time and a short code thereafter (with special handling for 
datagrams, where me must continue sending the mapping until we 
know they've been received).  This is mostly useful for the 
lengthy config names and parameter names of Project X, but it 
could conceivably also be used for things like NamedEvents, which 
stream the same object field names many times in the course of a 
stream.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5797 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-22 22:43:19 +00:00
Andrzej Kapolka abc0bb9eb3 UDP fixes: we can only stop transmitting the mappings sent in the
acknowledged datagram (not the ones before it, which may or may 
not have been received).  Also, make sure we don't throw an 
ArrayIndexOutOfBounds exception when retrieving a bogus class 
mapping (so that we show the correct error logging information).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5751 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-27 23:28:16 +00:00
Michael Bayne 88bec3d641 Prunexorz!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5698 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-26 00:43:50 +00:00
Michael Bayne 688f2580ed Varargified log calls.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5697 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-26 00:02:19 +00:00
Ray Greenwell 46e048ab4a Change the default behavior of handleSuccess: if the listener
is a ConfirmListener, do it! Hopefully this doesn't fork anything up.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5636 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-17 02:21:44 +00:00
Michael Bayne deb8d90e07 Fail fast on fuckup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5521 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-07 19:18:02 +00:00
Michael Bayne 4ab8689ea9 Allow additional identifying arguments to be passed to the PersistingUnit for
use when logging failure.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5520 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-07 19:12:45 +00:00
Jamie Doornbos aa44d90aab Fixed log warning for failed persistence. It was not logging the exception in the correct slot and was using the name of the unit in the message rather than in brackets.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5518 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-07 18:40:14 +00:00
Charlie Groves 0906ccdca5 Things work better when you set values and whatnot
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5487 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-31 20:31:51 +00:00
Charlie Groves 15c66260ea Take ChangeListeners in SafeSubscriber's constructor that will start listening
to the subscribed object when it becomes available and will stop listening when
we unsubscribe.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5486 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-31 18:33:59 +00:00
Dave Hoover da52d29a0a Javadoc nitpickery
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5478 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-28 20:37:28 +00:00
Michael Bayne f17740894e Out vile tabs.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5465 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-26 20:09:18 +00:00
Michael Bayne 8b79a17b6d A helper class that smooths out integration of Narya invocation service calls
with the java.util.concurrent Future paradigm.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5464 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-26 20:05:28 +00:00
Dave Hoover f05b9eb9ae Javadoc fixes plus svn keywords.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5407 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-01 17:35:59 +00:00
Dave Hoover 657aafaedb And of course, if I were thinking this morning, I would've rerun the organize imports
thing before committing instead of just going "oh yeah, I've been having this stuff
sitting around uncommitted for a while waiting on it to be blessed" and missing
out on things that'd changed in the meantime.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5400 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-26 17:35:29 +00:00
Dave Hoover 8856120403 Import cleanups
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5399 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-26 17:29:59 +00:00
Charlie Groves 80ca1dbc64 Fix broken javadoc links and params to kill my Eclipse warnings. This includes
importing receivers from their senders to satisfy their links.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5333 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-21 01:46:51 +00:00
Michael Bayne fcedbe90d7 Thread.dumpStack() circumvents whatever logging is configured and writes
directly to stderr. Logging an exception with the associated warning does the
right thing and logs the stack trace via the logging system.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5318 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-13 17:35:37 +00:00
Michael Bayne 725f656197 Fixed a bunch of type safety bits pointed out by the latest version of Eclipse.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5274 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-30 12:58:51 +00:00
Michael Bayne 0a893e1de1 ZOMG, Narya now perfectly passes our coding standards as enforced by
CheckStyle. The checks are slightly looser than I'd like but way better than
nothing and we get a bunch of other useful warnings like shadowed names and
other handy bits.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5253 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-22 14:36:54 +00:00
Michael Bayne c743432676 More style changes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5248 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-22 13:02:13 +00:00
Dave Hoover 6b1d65553f And finally, narya gets the imports/overrides/regen love.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5241 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-18 23:20:17 +00:00
Michael Bayne 919112cf88 Switch to new samskivert logging API.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5134 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-27 19:25:38 +00:00
Andrzej Kapolka ee74481cad Much work on generalizing the notion of message "transport" and
allowing the use of annotations to customize transport for 
DObject fields and service/receiver methods.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5099 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-16 01:47:33 +00:00
Andrzej Kapolka 9bafa5e7c8 Basic support for datagram messaging. Hope I haven't fucked
anything up!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5090 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-13 21:12:39 +00:00
Michael Bayne 4c4d253974 Let's add a couple more very handy helper methods.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4891 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-03 19:54:58 +00:00
Michael Bayne cb46d3a1af Allow the unit to throw InvocationException and do the right thing with it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4890 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-03 19:45:53 +00:00
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