Commit Graph

5906 Commits

Author SHA1 Message Date
Andrzej Kapolka 7862ac090a We shouldn't call disconnectedFromPeer if we don't have a nodeobj yet,
because we wouldn't have called connectedToPeer.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6665 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-06-22 18:16:40 +00:00
Andrzej Kapolka 23e5d5421f Prevent NPE.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6664 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-06-22 00:58:37 +00:00
Charlie Groves b2df3a1fb6 Only set the default access controller when registering dobjects without an access controller
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6663 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-06-21 22:14:22 +00:00
Ray Greenwell 27d06d1569 One empty array is as good as another.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6662 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-06-21 19:33:06 +00:00
Charlie Groves 8f63caef6e Add a super-interface containing just isApplicable for NodeRequest and NodeAction to let findApplicableNodes be used on both.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6661 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-06-18 22:47:23 +00:00
Bruno Garcia 2873c31f45 ArrayUtil --> Arrays.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6660 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-06-17 22:18:08 +00:00
Charlie Groves 52023608c8 Allow downstream and upstream messages to be compounded
A client can collect a bunch of messages into a CompoundUpstreamMessage, which are unpacked and
dispatched in order by the server. The server collects any messages sent while processing that
compound message into a CompoundDownstreamMessage, which is unpacked and dispatched by the client.

This allows the client to indicate that it's going to send enough messages that it'd blow out the
throttle, but that it's doing so intentionally.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6659 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-06-16 03:37:08 +00:00
Andrzej Kapolka 604e11e93e That should be public; other entities use those values.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6658 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-06-14 20:06:38 +00:00
Andrzej Kapolka 004bd2b516 Allow subclasses to override the default warning times.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6657 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-06-14 19:57:49 +00:00
Jamie Doornbos 87d9137cf8 Less obtuse and easier to read list of import groups.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6656 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-06-14 16:19:33 +00:00
Jamie Doornbos 82bf9dcd75 Make actionscript streamable sort and gorup the imports according to the aspirin convention. This doesn't yet accomodate imports that were added for non-generated blocks, but is very close to not requiring any postprocessing for the streamable who code, i.e. touchin mah filez
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6655 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-06-14 08:25:12 +00:00
Jamie Doornbos e9099dc415 Fix the streamable task to coordinate properly between source headers and preambles.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6654 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-06-14 05:34:13 +00:00
Ray Greenwell 96bca10e59 A bit less boilerplate in the toString helpers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6652 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-06-05 18:22:28 +00:00
Mike Thomas dfe4c2d01f These simple geometry primitives have been removed from narya to elsewhere.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6651 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-06-03 00:23:42 +00:00
Charlie Groves bdcc8cf6fd Bunyan-style
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6650 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-06-02 23:02:38 +00:00
Dave Hoover 5b1e29432b Being able to easily log is good.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6649 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-06-02 22:36:04 +00:00
Mike Thomas a27291b430 It's useful to have our own friendly, simple rectangles and points independent from the various graphics systems that may or may not be available (e.g. java.awt)
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6648 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-06-02 22:31:44 +00:00
Charlie Groves d18e1590a8 We've already checked the type of the required service, so don't require another cast
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6647 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-06-02 17:30:51 +00:00
Dave Hoover 0891dca5cf Unused import
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6645 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-05-26 17:31:26 +00:00
Andrzej Kapolka dbb6d5ce22 We can't be refreshing the peers that we just shut down because they
stopped updating.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6642 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-05-20 03:21:27 +00:00
Tom Conkling 3a2d9d4aee Move addExistingImports from GenActionScriptStreamableTask to ActionScriptUtils
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6641 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-05-19 00:52:29 +00:00
Tom Conkling d2dd8c5b5d ActionScriptUtils.java:
- expose addImportAndGetShortType() and toSimpleName()
- public methods before protected ones



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6640 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-05-19 00:39:17 +00:00
Bruno Garcia 522194e592 Run genservice with my last change to placate Bamboo.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6639 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-05-10 19:43:44 +00:00
Bruno Garcia c0a194c3cc Like the Java version, prevent superfluous whitespace from being generated from empty args lists.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6638 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-05-10 18:57:19 +00:00
Bruno Garcia 0891b9cc58 Speeling.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6637 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-05-10 18:52:43 +00:00
Andrzej Kapolka d0bde9d84d Because we have had cases where peers have become unresponsive without
actually disconnecting (due to EC2 woes, e.g.), let's try shutting down peers
if they haven't checked in for a while.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6636 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-05-04 20:58:29 +00:00
Michael Bayne ca678f6df8 Use the newly relocated Interval.Factory.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6635 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-27 20:43:11 +00:00
Michael Bayne cdff0031fe Same pattern here: minimize the weirding (by having createMarshallers look like
a non-weird function that just returns a useful value), and comment the
weirding (in this case, only in CustomClassStreamer.{read|write}Object, since
that's the only place where a race condition may occur.

git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6634 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-26 23:24:44 +00:00
Michael Bayne 10df7639b2 Let's test and set _marshallers in the same place, and add a comment explaining
our no synchronization at the cost of possibly doing some trivial extra work.

git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6633 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-26 23:10:10 +00:00
Mike Thomas 90e395c7bf Instead of syncrhonizing, Ray suggests just setting the shared member variable last. This should also work for our purposes and saves the overhead of the actual synchronization.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6632 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-26 22:43:39 +00:00
Mike Thomas a7334345fd We need to synchronize here. Otherwise, when we could be in the middle of initializing our marshallers, perhaps for another client on the same JVM, and continue on with our streaming thinking our marshallers are ready to go, only to find that they are, in fact, not yet ready to go.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6631 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-26 22:24:45 +00:00
Par Winzell 7faeb29c4f Open ourselves up a bit, to let subclasses pass their own data through ObjectInputStream's handy clientProps functionality. A prime example: sending along an injection context to streamed objects.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6630 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-22 15:58:45 +00:00
Michael Bayne b4e8609a95 PresentsConnection does not check that its handler is non-null before
processing messages, so let's put a (logging) NOOP handler in place when we
disconnect it from the PresentsSession.

git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6629 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-20 23:31:49 +00:00
Andrzej Kapolka 69f8f4ef88 Break sendSpeak out into a separate method so that we can override it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6628 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-20 23:30:12 +00:00
Andrzej Kapolka ca82921db0 Clear the handler reference when we replace the connection. For some reason,
it seems like we're still getting messages from old connections.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6627 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-20 04:56:48 +00:00
Andrzej Kapolka 179bd880c6 I was wondering why the connection ids were all over the place.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6626 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-20 03:20:14 +00:00
Andrzej Kapolka 2a5da18f20 Allow customizing the ServerSocketChannelAcceptor to configure the socket
differently (specifically, we want to enable SO_REUSEADDR in Spiral Knights).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6625 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-12 01:23:53 +00:00
Charlie Groves 7d9366a0d2 Add isEmpty so I don't keep fucking up when I assume DSet is a Collection
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6620 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-09 01:31:23 +00:00
Andrzej Kapolka 018823edf6 I'm having a devil of a time figuring out why there are still subscriptions
lying around when the client reconnects.  Let's try just clearing them out
again on resumption.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6619 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-08 03:30:13 +00:00
Andrzej Kapolka 0765897bcc We're getting datagram PONGs on resumed connections that haven't yet sent
datagram PINGs.  Let's make sure that the connection to which we're sending
the pong is the same one from which we received the ping.  Ping, pong, ping,
pong.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6618 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-08 02:38:49 +00:00
Jamie Doornbos b74952a097 Allow final classes to be streamed too
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6616 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-07 04:42:14 +00:00
Charlie Groves 807111d985 InvocationResponseEvent is no longer used for listeners
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6615 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-07 00:49:13 +00:00
Michael Bayne 300df7a843 Reference the proper packages here.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6614 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-06 21:56:45 +00:00
Andrzej Kapolka e318cd6697 Oops, SimpleStreamableObject handles toString.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6607 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-06 03:02:25 +00:00
Andrzej Kapolka cd63a86bff This got skipped when Tuple<String, Integer> became DObjectAddress, leaving
us with lots of "Requested to clear unknown proxy" warnings in Spiral
Knights.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6606 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-06 02:59:54 +00:00
Jamie Doornbos f3d6712cd2 Fixed some more eol issues. genservice and gendobj work for me now.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6605 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-05 23:33:29 +00:00
Charlie Groves c5a098119f Use the convenience creation methods on ObserverList
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6604 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-05 21:01:02 +00:00
Jamie Doornbos ddb30e640e Allow session observers to hook into the part of the session lifecycle before the session
subclasses start nuking things, but once it is known that it will end.

It always bugged me in msoy that the session subclass has to do this (poorly). Seems patently
observer-ish. This fix has almost no runtime overhead and is backwards compatible. The name
isn't great, but I was leaving room for more methods in there should someone else find it
useful, such as sessionWillStart or even clientObject[Will|Did]Release.

git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6603 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-05 17:46:29 +00:00
Mike Thomas 1d3b40c4dc Various generics/typesafety bits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6602 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-05 17:35:59 +00:00
Mike Thomas d076ff4bb7 Missing @Overrides
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6601 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-04-05 17:15:13 +00:00