Commit Graph

6292 Commits

Author SHA1 Message Date
Charlie Groves 68a5c21cda Allow the select wait for ConnectionManager to be injected eg
bind(Integer.class).annotatedWith(IncomingEventWait.class).toInstance(1);
will make the select wait 1 millisecond.

Don't wait for the select for datagrams or sockets in BindingConnectionManager as there's already a
wait on the ConnectionManager's select.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6163 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-16 18:23:10 +00:00
Dave Hoover fc13de8b9a Nix unused import
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6162 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-16 17:45:51 +00:00
Dave Hoover ffd5b490bf Fix javadoc
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6161 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-16 17:45:50 +00:00
Dave Hoover 1645c23be5 No @Overrides for interfaces in java 1.5
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6160 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-16 17:45:50 +00:00
Ray Greenwell 5c411bf6e7 There's a method for that.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6159 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-16 17:38:29 +00:00
Charlie Groves e24ddecabb Fucking Java 5
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6158 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-16 03:13:42 +00:00
Charlie Groves a0d4296b4e Split tcp socket opening and datagram listening out of ConnectionManager to allow sockets to remain
open when a ConnectionManager using them shuts down.

BindingConnectionManager takes on the duties of opening sockets that ConnectionManager used to
handle, and it's injected automatically by PresentsServer.  Hopefully that means this won't change
anything for existing users of PresentsServer.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6157 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-16 02:49:29 +00:00
Charlie Groves 0d4837e71d ConnectionManager allowed a server to listen on multiple tcp and datagram ports, but it only closed
the last opened.  Close all opened listening sockets.

Also, the last opened datagram socket would be used to send all datagram messages instead of the one
datagrams were received on.  It now goes through the same channel where datagrams were last
received.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6156 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-14 22:47:45 +00:00
Par Winzell c2ebf2884b Ray points out this can usefully be an AtomicInteger.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6155 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-13 17:35:23 +00:00
Par Winzell 6f7101404b Don't go beyond 100.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6154 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-13 17:15:37 +00:00
Par Winzell 3fd045a01d Error error.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6153 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-11 17:06:29 +00:00
Par Winzell 2180623f37 Don't modify the set we're iterating over.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6152 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-11 17:02:48 +00:00
Michael Bayne d5dcc4a1eb Nixed some cruft, updated some source headers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6151 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-11 04:30:16 +00:00
Mike Thomas ba0ba7f659 Instead of NPEing when we reset _oin at a bad time, let's throw an exception we can better handle and reduce some log spew.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6150 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-09 17:35:44 +00:00
Par Winzell 83e5576be0 IDEA module files. You'll need to name your SDK 'Flex SDK (player 9)' for these to work. I have eschewed modules exporting the modules they depend on forward; partly because this doesn't work right for Flex compilation anyway, and partly because we do explicit dependencies everywhere else, so why not here? Each module explicitly lists the libraries and modules on which it depends.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6149 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-09 17:23:57 +00:00
Charlie Groves 908bee05c4 Stop lying
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6148 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-08 19:29:51 +00:00
Charlie Groves be64ef83f1 Create the directories for generated files if necessary
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6147 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-07 23:45:04 +00:00
Charlie Groves d35526a3c4 Unused imports
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6146 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-07 21:03:33 +00:00
Par Winzell e7bd54fa2d Fix up imports, cuddle braces, use fancy .concat().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6145 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-07 20:08:25 +00:00
Par Winzell 73e44953d7 Argh. Java6->5 fixes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6144 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-07 19:26:42 +00:00
Par Winzell 59588467f7 Forgot the final message sort.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6143 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-07 19:13:02 +00:00
Par Winzell 628e03beed As the first application of the new invokeNodeRequest, rip all the chat collection stuff out of CrowdPeerManager and into the chat package where it belongs.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6142 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-07 19:10:00 +00:00
Par Winzell 5365b53ee6 Let's take invokdeNodeRequest the final distance; NodeRequest allows each peer to submit a result, so let's pass those results back to the caller instead of throwing them away. With this, we should be able to stop shoving all complex peer operations into PeerManager subclasses, and instead sprinkling them as NodeRequests in the sub-packages in which they belong.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6141 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-07 19:08:26 +00:00
Par Winzell a9c4b051e0 Let's not flip out on templated fields.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6140 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-06 01:15:49 +00:00
Dave Hoover 21d985b468 Speeling
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6139 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-03 00:29:55 +00:00
Bruno Garcia 68bb635152 Extending Object should be implicit.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6138 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-30 22:52:38 +00:00
Andrzej Kapolka 73d2bd1741 Rather than delaying datagrams if we've exceeded the throttle, just drop them.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6137 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-28 02:30:17 +00:00
Andrzej Kapolka 90929ab5d7 Fix for reconnection issue in Project X. When clients disconnect, we need to
reset the throttle state.  When they reconnect, we need to resend the message
rate.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6136 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-28 02:14:09 +00:00
Michael Bayne 9bdf1f8ef1 Serialize the request early so that developers find out as soon as possible if
they're fucking up. Also fixed up a comment.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6135 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-27 23:02:23 +00:00
Mike Thomas d99d17ca7a Make NodeRequests a bit fancier for hitting multiple nodes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6134 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-27 01:06:06 +00:00
Charlie Groves 0e575a8b6f Allow peers to specify a namespace. If they do, only hook up to peers with node names starting
with the namespace.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6133 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-24 22:51:15 +00:00
Charlie Groves 543a0d8a57 Allow subclasses to change how signal handlers are registered
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6132 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-23 22:28:29 +00:00
Charlie Groves 8818511502 Pass the receiver code through
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6131 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-16 21:39:48 +00:00
Charlie Groves 2cdc445b1f Have ServiceDescription carry skipAS like it does the rest of the processing information
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6130 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-12 21:00:49 +00:00
Charlie Groves c12e1e44b3 Multimap is pretty rad
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6129 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-12 20:59:47 +00:00
Ray Greenwell 696f77beb5 Fix possible ClassCastException, because DSet.contains(E entry)
will type-erase to DSet.Entry. Ensure objects tested for containment
in our Set view implement that.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6128 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-11 20:34:27 +00:00
Ray Greenwell 891ca8db44 Since we have a runtime type token here,
it's best to avoid the @SuppressWarnings annotation.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6127 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-11 20:32:26 +00:00
Dave Hoover 11c52c06eb Whitespace
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6126 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-11 18:09:12 +00:00
Dave Hoover 1108d3c0db Factory methods for StreamableArrayList and StreamableHashSet
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6125 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-11 18:09:11 +00:00
Ray Greenwell 0bce227a40 Map/Set streaming for actionscript.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6124 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-11 03:53:06 +00:00
Ray Greenwell 4bf5490c35 Removed accidentally committed debuggery.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6123 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-11 03:39:30 +00:00
Charlie Groves f98e5e9abf Gonna need that name before we try to load it
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6122 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-11 03:19:01 +00:00
Ray Greenwell 7badbbd20f This AssertionError is new. Mdb added it. It freaks something out in p-x.
I suppose we could stop checking to see if a class's fields are
all streamable once we see that it has custom writeObject() and readObject()
methods, but those methods could call defaultWriteObject() or
defaultReadObject().


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6121 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-11 00:42:32 +00:00
Charlie Groves c1ac294171 Succincter
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6120 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-11 00:27:48 +00:00
Ray Greenwell 0771006ab0 Expand these tests for maps, sets, collections.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6119 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-10 23:38:25 +00:00
Ray Greenwell ee1d915e91 List streams differently now.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6118 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-10 23:20:39 +00:00
Ray Greenwell 2f039b370d Changed this, as List is streamed differently now that the bug with it is fixed.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6117 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-10 23:20:03 +00:00
Ray Greenwell 931d72f4b5 Streaming changes.
- Fix the bug with streaming an object that had a field typed as merely 'List'.
  This will result in an incompatible change. Notably, BootstrapData has a List
  field, but this shouldn't be accessed until after versions are checked.
  The bug also meant that such fields could only hold an ArrayList. Now they
  may hold any List type and will turn into an ArrayList on the other end...
- Support Map and Set streaming in the same way.
- Support using unmodifiedUTF if the "com.threerings.io.unmodifiedUTFStreaming"
  system property is set to the String "true".

We can roll this back if it freaks something out, but I'd rather push forward.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6116 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-10 23:18:02 +00:00
Michael Bayne 5c7d59e597 This is so succinct now, we can dispense with the helper method altogether.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6115 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-10 22:09:33 +00:00
Michael Bayne 83c5fcfb15 Whoa, Daddy-O! This is almost like a real abstraction in Java.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6114 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-10 22:07:48 +00:00