Commit Graph

  • 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. Michael Bayne 2011-04-20 23:31:49 +00:00
  • 69f8f4ef88 Break sendSpeak out into a separate method so that we can override it. Andrzej Kapolka 2011-04-20 23:30:12 +00:00
  • ca82921db0 Clear the handler reference when we replace the connection. For some reason, it seems like we're still getting messages from old connections. Andrzej Kapolka 2011-04-20 04:56:48 +00:00
  • 179bd880c6 I was wondering why the connection ids were all over the place. Andrzej Kapolka 2011-04-20 03:20:14 +00:00
  • 2a5da18f20 Allow customizing the ServerSocketChannelAcceptor to configure the socket differently (specifically, we want to enable SO_REUSEADDR in Spiral Knights). Andrzej Kapolka 2011-04-12 01:23:53 +00:00
  • b37c054873 OK, we have to recompile against samskivert 1.4-SNAPSHOT because add(index,observer) used to return void and now it returns boolean. Really I'd rather add(index,observer) and add(observer) both returned void and threw an exception if a duplicate was detected (because wtf are you doing?), but Collection dictates a signature of boolean add (elem) and if I changed that, then *everybody* would need to recompile. Sigh. We'll just suck it up and leave add(i,o) consistent with add(o) and have Narya rebuild agains the latest bytecode. Michael Bayne 2011-04-10 21:24:22 +00:00
  • 0e289a295b Not needed. Michael Bayne 2011-04-10 19:51:48 +00:00
  • aa55ea4c17 Guava r09. Ray Greenwell 2011-04-10 19:39:42 +00:00
  • 23dd064230 Latest samskivert. Just trying to make everything work... Ray Greenwell 2011-04-10 19:36:43 +00:00
  • 7d9366a0d2 Add isEmpty so I don't keep fucking up when I assume DSet is a Collection Charlie Groves 2011-04-09 01:31:23 +00:00
  • 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. Andrzej Kapolka 2011-04-08 03:30:13 +00:00
  • 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. Andrzej Kapolka 2011-04-08 02:38:49 +00:00
  • afe0589baf Removed ancient vestigial templates. Michael Bayne 2011-04-07 21:42:32 +00:00
  • b74952a097 Allow final classes to be streamed too Jamie Doornbos 2011-04-07 04:42:14 +00:00
  • 807111d985 InvocationResponseEvent is no longer used for listeners Charlie Groves 2011-04-07 00:49:13 +00:00
  • 300df7a843 Reference the proper packages here. Michael Bayne 2011-04-06 21:56:45 +00:00
  • 9647820534 Details on our numerous artifacts. Michael Bayne 2011-04-06 21:56:30 +00:00
  • 9890b968e6 Added link to javadocs. Michael Bayne 2011-04-06 21:56:18 +00:00
  • 20ded3bd14 Properly format them links. Michael Bayne 2011-04-06 21:56:02 +00:00
  • 79b272a8ab Out with the old. Michael Bayne 2011-04-06 21:55:43 +00:00
  • 4257b389bc Updated to reflect new public home. Michael Bayne 2011-04-06 21:55:31 +00:00
  • a5ad43c237 Brought the README out of the stoneage, Markdownified. Michael Bayne 2011-04-06 21:55:18 +00:00
  • e318cd6697 Oops, SimpleStreamableObject handles toString. Andrzej Kapolka 2011-04-06 03:02:25 +00:00
  • cd63a86bff This got skipped when Tuple<String, Integer> became DObjectAddress, leaving us with lots of "Requested to clear unknown proxy" warnings in Spiral Knights. Andrzej Kapolka 2011-04-06 02:59:54 +00:00
  • f3d6712cd2 Fixed some more eol issues. genservice and gendobj work for me now. Jamie Doornbos 2011-04-05 23:33:29 +00:00
  • c5a098119f Use the convenience creation methods on ObserverList Charlie Groves 2011-04-05 21:01:02 +00:00
  • 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. Jamie Doornbos 2011-04-05 17:46:29 +00:00
  • 1d3b40c4dc Various generics/typesafety bits. Mike Thomas 2011-04-05 17:35:59 +00:00
  • d076ff4bb7 Missing @Overrides Mike Thomas 2011-04-05 17:15:13 +00:00
  • cae3a3f1b9 Support converstion of java enum to com.threerings.util.Enum as part of actionscript streamable conversion. Jamie Doornbos 2011-04-04 21:11:58 +00:00
  • 7120c9c292 Fixed conflict in generated source merge when using native eol-styles by allowing an optional CR before the LF ($ here did not work for some reason) Jamie Doornbos 2011-04-04 20:15:48 +00:00
  • dfe51acd4b Join our big brother on the new bleeding edge. Michael Bayne 2011-04-04 04:53:10 +00:00
  • fc5265b860 A 1.8 release of these artifacts, which only go to OOO's Maven Repository, to go along with the public release I just did to Maven Central of the main jar artifact. Michael Bayne 2011-04-04 04:17:32 +00:00
  • fe473b8446 [maven-release-plugin] prepare for next development iteration Michael Bayne 2011-04-04 04:12:20 +00:00
  • 4f6f789e0d [maven-release-plugin] prepare release narya-1.8 Michael Bayne 2011-04-04 04:12:00 +00:00
  • 8725eaf8f9 Use stable 1.3 samskivert. Michael Bayne 2011-04-04 04:09:54 +00:00
  • bc4c9224ec Added some scaffolding for testing peer related stuffs. Michael Bayne 2011-04-03 22:49:46 +00:00
  • 560fd59f26 Put bootstrap.xml in etc with all of our other misfit .xml files. Michael Bayne 2011-04-03 16:35:56 +00:00
  • 8c740b8353 Decided to switch to using setOld{Entry|Value} instead of having two constructors. Fixed ElementUpdatedEvent along the way. Michael Bayne 2011-04-02 23:25:10 +00:00
  • 03576f00ee I certainly shouldn't have said that it was illegal! Gah, it's too hot today. Michael Bayne 2011-04-02 06:07:48 +00:00
  • 871409e060 The zero arg ctor must be public, and I'm making the other ctor public because it's totally wacky to have the ctor you shouldn't use, be public, and the one you should, not. Michael Bayne 2011-04-02 05:24:35 +00:00
  • 17dc26fe52 More hackery preservation. Michael Bayne 2011-04-02 04:04:00 +00:00
  • 63c967d8d2 We can't allow the primary ctor to be called for EntryUpdated/RemovedEvent because that will overwrite the hackery we do with _oldEntry. Oh hackery, how we love you so. Michael Bayne 2011-04-02 04:02:12 +00:00
  • 12b8aa0a2a We should be on guava r08. Unless this breaks something.... then it's mike's fault. Ray Greenwell 2011-04-02 01:26:39 +00:00
  • b85a7d71a5 Fiddlesticks. We can't keep the deprecated constructor in here because that breaks streaming. Everyone will have to regenerate their services. Sorry! If only I hadn't hardcoded the insertion of the constructor in the first place, this would have all been nicely behind an abstraction boundary. It will be once the services are regenerated. Michael Bayne 2011-04-02 01:03:07 +00:00
  • 1203c59588 Added a static method for concise condition requirey in invocation services. Michael Bayne 2011-04-02 00:48:01 +00:00
  • 248795ba57 Handle service methods with forall types. Michael Bayne 2011-04-02 00:47:50 +00:00
  • fc7706c79d Get the transport specification out of the construction path, since it's not a streamed property of the event. It turns out to be cleaner to just set it in the places where we know that we want a specific transport anyway. Michael Bayne 2011-04-02 00:01:46 +00:00
  • 22330e955b The CompoundEvent needs a zero-arg ctor, as its non-zero-arg ctor does lots of crazy stuff. Michael Bayne 2011-04-01 23:22:10 +00:00
  • 96b7feb7f2 Keerist, that doesn't even compile. I'll let mdb sort this out. Ray Greenwell 2011-04-01 23:17:00 +00:00
  • 21105cb8fa Thumper's mom's advice is echoing through my head right now. Ray Greenwell 2011-04-01 23:14:01 +00:00
  • e3d0a81a2c Ray has convinced me that the zero-args constructor is less weird. Though I think that's probably just because we're used to it. Michael Bayne 2011-04-01 22:32:37 +00:00
  • eb37356f0c I'm not sure what's worse, a weird extra constructor for use when unserializing, or a weird alternative code path in the main constructor when unserializing. Michael Bayne 2011-04-01 22:19:06 +00:00
  • b986464ee7 Take advantage of our new "one constructor to rule them all" capabilities in various base classes. This allows us to use final fields in some cases, which I've done (though our naughty penchant for mutation forced me to roll back a bunch of other spots where I would have liked to make fields final). Michael Bayne 2011-04-01 22:06:42 +00:00
  • 61de392df9 If we find our zero args constructor, we're done. Don't let our eyes wander over to those other luscious constructors. Michael Bayne 2011-04-01 22:04:05 +00:00
  • 56eeeb128d Allow any Streamable class to use the "we'll call your single non-zero-argument constructor with zero/null values and then overwrite any fields initialized with them immediately afterward" approach. If a Streamable has a zero-args constructor, that is still used, so all the existing Streamable classes will still function exactly as before. But new classes (or old classes undergoing scrutiny) can opt to reduce their boilerplate as long as they know they cope with the zero/null-valued constructor call. Michael Bayne 2011-04-01 21:34:01 +00:00
  • 57d5d4ef0b As with the messages, turn this into a method so that we can override it. Andrzej Kapolka 2011-03-31 23:25:07 +00:00
  • 301cd0d885 Changed the way that peer messages sent/received are tracked so that we can customize the tracking in a subclass. Andrzej Kapolka 2011-03-31 21:00:57 +00:00
  • af239ad733 Remove some @Overrides that were for things that were implementing an interface method, not overriding a base class method - this is a 1.6ism. Also, add some @Overrides that were missing on things that were overriding a base class method. Mike Thomas 2011-03-31 18:28:32 +00:00
  • b42af5855f Instead of forcing PeerManager's view of the architecture (that peer stuff shall be accessed via the Main Invoker) on the developer, let's mark the peer invoker uniquely so that it can be run elsewhere. In order to maintain backwards compatibility, this got a little weird in the organization of PresentsModule doing its default binding. If the new binding went in bindInvokers() where it theoretically belongs, anyone who is already overriding bindInvokers() (and not calling super, cuz this is how things work) would not be binding PeerInvoker at all and would be confused. Mike Thomas 2011-03-31 18:07:15 +00:00
  • 5d4ed6636b Resulting, from projectx. RFC. I realize I need to add a lot of examples to the documentation. The biggest win here is only needing to learn the ins and outs of this one class, and using it everywhere for your listening/chaining needs. Ray Greenwell 2011-03-31 00:09:14 +00:00
  • 194664eea9 Need to copy the value, not the reference, for peerMessagesIn. Andrzej Kapolka 2011-03-30 22:26:05 +00:00
  • c2b21f83fa Just fixing some comments that confused me a little Jamie Doornbos 2011-03-30 17:52:27 +00:00
  • 7888fa376e No-op tweak. Ray Greenwell 2011-03-30 04:12:00 +00:00
  • 56155507d8 At some point a blank initializer snuck in here, wearing the camouflage of being an empty method body. Ray Greenwell 2011-03-30 03:54:56 +00:00
  • a36030d8a5 Charlie's change violates the new design, which is that we figure out how we're going to stream a class and then create the right streamer for it. Using the ClassStreamer for an interface and then not doing any of the ClassStreamer stuff means: don't use a ClassStreamer. Ray Greenwell 2011-03-30 03:53:17 +00:00
  • 0f5bc2e813 Added a test for an array of an interface that is Streamable. Ray Greenwell 2011-03-30 03:47:28 +00:00
  • cacd08b3fd If there's an array of an interface that implements Streamable on a Streamable, we created a Streamer for it. We throw a RuntimeException when we don't find a constructor, so skip our init in creating Streamers for interfaces Charlie Groves 2011-03-30 02:54:47 +00:00
  • d4b2999c91 Initialize our constructor separately from our marshallers, so that sneaky classes that rely on the marshallers never being initialized don't break. Michael Bayne 2011-03-30 01:17:39 +00:00
  • 54c8226ea2 As Andrzej points out, this injected member should be transient. But oddly, the original source code did not list it as such: Michael Bayne 2011-03-30 00:53:02 +00:00
  • 8f5af330c6 Let's do this delayed marshaller initialization slightly differently, so that only CustomClassStreamer needs to know about it. Michael Bayne 2011-03-30 00:45:38 +00:00
  • d0bc9da2b5 Calling createObject requires initialization, else we get an NPE. Andrzej Kapolka 2011-03-30 00:38:27 +00:00
  • c55279a211 Converted some static inner classes into anonymous inner classes, yielding improvement in locality of code and reduction in LOC. Michael Bayne 2011-03-30 00:32:47 +00:00
  • b759128425 With a magestic legacy as long and historied as Presents, nothing is ever easy. We need to support legacy closures that have multiple constructors, one of which will be a zero-argument constructor. All of the existing static inner classes that extend NodeAction/NodeRequest will be such legacy classes. Whee! Michael Bayne 2011-03-30 00:14:22 +00:00
  • 73ef57ecc9 Guava: there's a class for that. Ray Greenwell 2011-03-30 00:01:48 +00:00
  • 87c36ebf67 Improvements in comments. Michael Bayne 2011-03-29 23:56:36 +00:00
  • 3291089b8c Jumped the gun there a little. We need to be sure not to filter out the synthetic val$local fields that get inserted, only the this$outer field. And we need to pass "zero" values for val$ fields to the synthesized constructor. Michael Bayne 2011-03-29 23:55:11 +00:00
  • 10bea22f14 Made our node action and request into streamable closures, and removed the warning about having to extend them with static inner classes. Michael Bayne 2011-03-29 23:30:23 +00:00
  • 064fbe425a Added support for "streamable closures". The idea with these are that the streaming mechanism will quietly gloss over the funny little outer class reference stuffed into your closure as long as you promise not to use it (because it's going to be null on the other side of the wire). Michael Bayne 2011-03-29 23:28:26 +00:00
  • 7c07bfcedc register() already puts our mapping in the _handlers table. Michael Bayne 2011-03-29 20:02:00 +00:00
  • 6dc165f911 Fixed misplaced parenthesis. Andrzej Kapolka 2011-03-23 02:12:36 +00:00
  • 34f0f9ab8d Unused imports Charlie Groves 2011-03-23 01:46:55 +00:00
  • 94c89e390c Include the longest elapsed time in the profile (not too useful if you profile from the beginning, but useful if you clear the profiles in order to record over a brief interval). Andrzej Kapolka 2011-03-23 01:40:08 +00:00
  • a1013e66bf Provide a means of setting the unit profile sampling frequency. Andrzej Kapolka 2011-03-22 22:36:34 +00:00
  • e9bbdd2c4b Use the getIntervalClassName method to identify intervals that have been cancelled. Andrzej Kapolka 2011-03-22 22:24:34 +00:00
  • 74b598fc02 Add a main to PolicyServer that binds on the master port by default Charlie Groves 2011-03-22 07:09:43 +00:00
  • c4a53bbbaa Explicitly handle the other cases of the enum in the switch so it's clear we mean to do nothing. Mike Thomas 2011-03-18 21:41:42 +00:00
  • 30b04ce54e Revert relationship bits on consultation with MDB. Andrzej Kapolka 2011-03-17 23:10:52 +00:00
  • a7c4b2a949 - Allow you to optionally reload the global messages bundle when changing your locale Mark Johnson 2011-03-17 01:33:53 +00:00
  • fccd605b9f The very beginnings of support for different peer topologies: instead of having every node connect to every other, we want to support having (for example) nodes connect to a "super-peer" that distributes updates to its children. Andrzej Kapolka 2011-03-17 00:54:24 +00:00
  • 03e58a28e1 We register as a client observer when we start up; we need to remove ourselves when we shut down. Andrzej Kapolka 2011-03-15 23:48:36 +00:00
  • a1398a7d65 We should probably have a gencheck on the CPP files as well. Michael Bayne 2011-03-15 18:21:55 +00:00
  • a3c0b0bbdd Put our headers on the CPP files as well. This also fixes a problem where the headers on the associated Java files were being stripped. Michael Bayne 2011-03-15 18:20:17 +00:00
  • 217927de2b A variety of javadoc fixes. Michael Bayne 2011-03-15 18:17:09 +00:00
  • 0a15a1e09a Avoid generating {@link Outer.Inner}, as Javadoc does not support such links. Bug 4464323 was filed 10 years ago, bringing this to Sun's attention, and has been acknowledged as a known bug. Apparently this has not annoyed anyone on the Java team enough to merit fixing. Sigh. Michael Bayne 2011-03-15 17:50:09 +00:00
  • de7254ac5b These need to reference built.classpath as there is no longer a compile.classpath. Michael Bayne 2011-03-15 17:42:30 +00:00
  • b205f60d1c Use the hostname stored in the Client rather than the IP address in case we're using a proxy, in which case we'll send the non-proxy hostname in the bootstrap data. Andrzej Kapolka 2011-03-10 23:18:22 +00:00
  • 4acf173bf3 Clarify. Ray Greenwell 2011-03-09 04:10:29 +00:00
  • fb39890cbd Refine and elaborate this warning message. Ray Greenwell 2011-03-08 22:36:39 +00:00
  • 5a3f7bbdc7 Tidy this up by making it recursive. Deeply multidimensional arrays are rare. Ray Greenwell 2011-03-08 22:30:19 +00:00