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
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
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
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
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
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
- 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
preserve the registration order, in case that's significant. It would be nice
if Guava had an ImmutableLinkedHashMap, but I don't see such a thing.
Thanks to my newly added unit tests, I'm pretty confident that I didn't just
fuck something up. Woo.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6113 542714f4-19e9-0310-aa3c-eee0fc999fb1
- expanded Widget to contain all of the generally supported streamable types
(if I missed any, please add them);
- added proper equals() methods and tests to ensure that writing an object and
reading it back yield an object that equals() the original;
- added a binary blob containing the over-the-wire bits for said comprehensive
object; test that serializing an instance yields those bits and test that
unserializing those bits yields a proper object; this will catch future
situations where we inadvertently change the wire format for a type via
subtle changes to the streaming code;
- updated things to JUnit 4 style.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6110 542714f4-19e9-0310-aa3c-eee0fc999fb1