Commit Graph

1425 Commits

Author SHA1 Message Date
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
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
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 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
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
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
Charlie Groves 4ea22628f7 Generalize velocity creation and classloader setting for code generation ant tasks into GenTask
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6109 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-08-10 00:38:46 +00:00
Ray Greenwell 7b86f2d8db Prefer StringBuilder where possible.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6101 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-07-22 01:20:02 +00:00
Ray Greenwell 6bff220be7 Prefer java standard libraries, then guava, then samskivert.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6095 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-07-14 19:28:14 +00:00
Dave Hoover cdebcfa71d StringUtil.replace is deprecated
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6094 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-07-13 21:45:39 +00:00
Par Winzell 46835601af Missing newline in report.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6091 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-07-02 13:32:49 +00:00
Mike Thomas 2f704712b2 I am of two minds whether this is the "right" way or not, but Eclipse's warnings sure think so. Since the generics portion has been erased we can only check against <?> but we at least are noting that it's a parameterized type.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6089 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-06-28 17:19:41 +00:00
Par Winzell bf34448cdb Grumble, allow Java5 its stingy @Override semantics.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6088 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-06-23 21:47:52 +00:00
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