Commit Graph

1393 Commits

Author SHA1 Message Date
Par Winzell b6228a0dfe There was already existing support for executing a NodeAction on all peers; this extends such support to NodeRequests, which have the additional property of taking a Listener, and thus being able to wait for the request to finish. For multiple peers, the requests are processed in parallel. If all the requests finish executing without error, the function reports success. If at least one node reports failure, so does the function.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6087 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-06-23 21:29:02 +00:00
Charlie Groves 12578d8810 Gotta be symmetric with readField
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6085 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-06-22 03:16:23 +00:00
Charlie Groves 2268aae388 Handle primitive arrays
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6084 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-06-22 03:04:53 +00:00
Dave Hoover c54c82da55 Slay some cyclopian variables.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6082 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-06-15 17:26:29 +00:00
Dave Hoover 9b1624ced6 Whitespace
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6081 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-06-15 17:26:27 +00:00
Dave Hoover 0583a92100 Speeling
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6080 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-06-15 17:26:26 +00:00
Michael Bayne 5a02c42c21 Use our standard loop idioms.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6079 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-06-14 23:30:47 +00:00
Andrzej Kapolka 129023182c Remove WeakListenerWrapper in favor of simply storing the WeakReference
directly in the array.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6078 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-06-14 20:12:16 +00:00
Andrzej Kapolka 06a7d265a7 Simplify the API by using a parameter to control whether we retain a weak or
strong reference to the listener.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6077 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-06-13 02:36:16 +00:00
Andrzej Kapolka 852c66497e Allow adding/removing listeners by weak reference so as not to prevent
garbage collection.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6076 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-06-12 01:15:22 +00:00
Dave Hoover b072941003 Whitespace
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6075 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-06-11 22:57:20 +00:00
Andrzej Kapolka d7e5d3cf85 Broke out the places where we actually read from/write to the channels into
separate methods so that we can override them to do crazy stuff like simulate
latency/dropped packets for debugging.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6072 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-06-09 03:27:27 +00:00
Mike Thomas 7101012413 A new type of general communication between peers - the NodeRequest - it's a lot like a NodeAction but produces a result which is sent back via the ResultListener.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6070 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-06-01 23:48:50 +00:00
Andrzej Kapolka 3c2c86da60 Use the InetAddress obtained for the TCP socket for the datagram
channel as well, instead of re-resolving the hostname.  This is because
we plan to use round-robin resolution for the game server, and I don't
want to chance getting different IPs for TCP and UDP.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6069 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-05-28 23:12:17 +00:00
Charlie Groves 4ab52e1c1e Pull in imports from added methods and fields, and kill the extra space between fields
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6067 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-05-11 22:05:09 +00:00
Andrzej Kapolka 9043e99f7a Separated TCP and UDP bind hostnames (we want to be able to bind to the
wildcard address for TCP in order to accept connections on both the
public hostname and the internal hostname used for peers, but bind to the
public hostname for UDP because binding to the wildcard address seems to
cause problems receiving packets).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6066 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-05-07 01:12:55 +00:00
Tom Conkling 45694bc0f0 This ActionScript constructor generator doesn't seem particularly useful, since it requires the developer to fill in the body
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6065 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-05-01 02:40:29 +00:00
Tom Conkling f2f88f5e3c Get rid of debugging code
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6064 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-05-01 02:37:31 +00:00
Tom Conkling f4bc4a2680 - Properly parse out ActionScript member variables, and insert them back into the generated code
- Eclipse keeps rejiggering my imports

git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6063 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-05-01 02:35:39 +00:00
Tom Conkling 98b63122d4 Properly handle getter and setter methods
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6062 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-05-01 00:38:34 +00:00
Ray Greenwell 401e71fa51 Nixed this commented out alternate code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6060 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-04-20 21:00:20 +00:00
Jamie Doornbos 19b6edcc98 Fix service generation for classes that use java.lang.Integer. Some day I will clean this up and fix the big TODO. It probably isn't actually that hard now I know more.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6059 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-04-19 18:58:54 +00:00
Ray Greenwell 406344529a Updated deprecated usage.
Added alternate implementation in comments. One copies the array,
the other creates two wrapper Lists.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6058 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-04-13 21:00:52 +00:00
Ray Greenwell b34cf47668 Whoops.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6056 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-04-07 21:24:06 +00:00
Ray Greenwell 2f855ff35e When generating dobj files, add or remove the Generated import depending
on whether we need it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6055 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-04-07 21:22:53 +00:00
Dave Hoover 4b61decebb Remove trailing whitespace/unused imports
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6054 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-04-07 20:32:47 +00:00
Ray Greenwell 528a9d1f66 @Generated, going stag (without a date).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6052 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-04-07 16:12:43 +00:00
Ray Greenwell 4496ec9ae4 Mdb dislikes the date and points out that our tasks regenerate these
files every time, so it'll get in the way of version control. Mrmph.
So: make the date optional, and leave it out for now.

Other comments?


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6051 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-04-07 16:12:04 +00:00
Ray Greenwell 43e556fb59 @Generated annotation.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6050 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-04-07 05:33:54 +00:00
Ray Greenwell e5b45f2ef0 Add the @Generated annotation to Marshaller/Receiver classes
and various dobj bits. The @Generated annotation is "@Documented" and
retained at source only.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6049 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-04-07 05:32:11 +00:00
Charlie Groves d5d9b7f9ea RootDObjectManager already implements RunQueue and Executor
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6048 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-03-31 19:26:46 +00:00
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
Mike Thomas 5ecfff4bcb Some types of DSet may be okay with larger sizes before warning, break out the cutoff so we can override.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6046 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-03-18 16:49:38 +00:00
Michael Bayne 7eb35b5dc1 Some code hygiene.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6045 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-03-16 23:57:28 +00:00
Ray Greenwell cbaa8e480e Using finalizers like this is a bad idea. I did this years ago.
At least call super() in a finally block, but I'll see if this can
be cleaned.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6039 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-02-17 02:38:11 +00:00
Dave Hoover 83f71c606e @Override gets the point across
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6038 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-02-10 20:32:51 +00:00
Dave Hoover 3414612462 Nix unused imports
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6037 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-02-10 20:32:49 +00:00
Michael Bayne 0b90f21fe3 No need for this null check. We already dereferenced _client earlier to obtain
our connection id.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6035 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-02-09 19:55:22 +00:00
Michael Bayne c7ac36ac51 This is dubious. We define an _omgr that shadows super._omgr, assign it in our
constructor and then never use it. This is almost a noop, except that
ClientDObjectMgr registers and starts a flusher interval that will never be
shutdown. Since ServerCommunicator lives for the lifetime of the server, this
has not caused problems.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6034 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-02-09 19:54:15 +00:00
Ray Greenwell c326538c07 Regenerated: DSet's just clone() now.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6029 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-02-04 21:49:00 +00:00
Ray Greenwell 961fa75665 DSet.clone() has been modernized for a while now, rendering typedClone()
pointless. Let's deprecate it and auto-generate DObjects that just use clone().


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6028 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-02-04 21:48:37 +00:00
Andrzej Kapolka df356599fc Don't complain if we didn't init our PeerManager; we don't do that if
we're not running in a peered environment.  Technically it might be
better to add the PeerManager to the lifecycle in init, but I don't
want to screw with the shutdown order, and this is the lowest-impact
solution.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6021 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-01-26 03:10:53 +00:00
Dave Hoover 1926012bc5 Remove now spurious casts
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6016 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-01-13 19:19:15 +00:00
Ray Greenwell c4d132b232 clone() modernization.
Apologies for the redundant cast warnings this is sure to introduce.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6015 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-01-13 18:19:48 +00:00
Ray Greenwell 3954ec5153 Updated to call ObjectInputStream.readObject() and readField() the new way.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6014 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-01-13 00:14:46 +00:00
Ray Greenwell 4c009f7a5f Simplify this, which was complexified so that it could avoid logging
when posted to a shutdown queue. There's a method we can override for that now.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6013 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-01-06 20:18:11 +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
Charlie Groves 2ba4d6a0d0 Wait to check if an interdependent invoker has posted back to the presents invoker until all the
interdependents have indicated they're blocking to check.  Otherwise the unit running before the
last BlockingUnit can post to the presents invoker and those newly posted units will be skipped.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6006 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-12-29 07:44:09 +00:00
Mike Thomas cb5aac620c It looks very much to me like we were able to occasionally sneak by the checks and shutdown the omgr too early in the following condition:
- PresentsInvoker decides it's empty
- It waits on other dependencies
- During the wait, something (probably from one of the other dependencies) posts to the PresentsInvoker
- We loop back around, the dependencies are empty
- We end early, with the posted bit still to be done...

So... after waiting, do a quick check for emptyness and if not satisfied, start the whole dern cycle over.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6005 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-12-23 19:58:34 +00:00
Dave Hoover 6ab0c7c95e As Charlie points out, that makes more sense being abstract. Shame on me for copying
NamedSetAdapter on autopilot; there you have multiple things that you might not want
to bother with, but here you damned well BETTER implement that one method yourself.

Also, while I'm at it, make that protected since I really doubt you're going to find
yourself sitting on top of an EntryAddedEvent that you're REALLY SURE is the right
one & want to pass it in to one of these by hand. And if you do, suck it up and let
the string compare burn the couple extra cycles to make sure. (I feel like making
the same change to the other Named* things here real quick, but I should really 
double check that I don't break anybody's stuff/change anything I see using it that
would now be making the named versions more visible for now good reason)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6004 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-12-15 23:56:39 +00:00