Commit Graph

4679 Commits

Author SHA1 Message Date
Michael Bayne d855eb184a Oops, nix duplicated method.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5803 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-27 18:38:44 +00:00
Michael Bayne 0a20b36c8e Out with ShutdownManager, in with LifecycleManager which handles both
initialization and shutdown. This will obviate the need for a lot of manual
wiring up. ShutdownManager still works and passes through to LifecycleManager,
but switching to the new deal is encouraged.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5802 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-27 18:32:45 +00:00
Andrzej Kapolka eb77929940 As on the server, provide a means to detect whether we can
transmit datagrams.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5801 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-26 20:10:46 +00:00
Andrzej Kapolka 510e6982bf Note actual transport on the client, too.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5800 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-26 19:57:00 +00:00
Dave Hoover e13aca6570 Prune trailing whitespace & foreachize loops.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5799 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-23 01:56:35 +00:00
Dave Hoover b222eed2fd A healthy dash of google-collections
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5798 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-23 01:04:08 +00:00
Andrzej Kapolka 1bdb2cae16 Added methods and @Intern annotation to stream pooled strings (a
la String.intern) as we do class names, by sending the value the 
first time and a short code thereafter (with special handling for 
datagrams, where me must continue sending the mapping until we 
know they've been received).  This is mostly useful for the 
lengthy config names and parameter names of Project X, but it 
could conceivably also be used for things like NamedEvents, which 
stream the same object field names many times in the course of a 
stream.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5797 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-22 22:43:19 +00:00
Andrzej Kapolka e5172053c8 The utility of printing out the message as a byte array seems
limited.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5796 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-21 23:47:47 +00:00
Andrzej Kapolka 13251b0d79 Accessor for datagram transmission flag.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5795 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-21 23:36:18 +00:00
Andrzej Kapolka 31e9807c05 Note the actual transport with which events are transmitted.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5794 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-21 18:41:42 +00:00
Andrzej Kapolka d45b0bdb00 Added an option to bind the datagram socket to a specific
hostname, in hopes of fixing the issue with receiving datagrams 
from the staging server.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5793 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-21 18:04:09 +00:00
Andrzej Kapolka 6dd16483be Added an extra step to the datagram negotation process. Before
the server starts sending datagrams willy-nilly, it must wait for 
a (reliable) go-ahead from the client.  Otherwise, it's possible 
that the server may be successfully receiving datagrams but not 
sending them.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5792 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-21 04:16:41 +00:00
Dave Hoover 0f70a5c8d2 Much like NamedSetAdapter, we had this kicking around in yohoho, also.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5791 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-19 19:29:29 +00:00
Michael Bayne a6c43b3436 Enough of this verbosity.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5789 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-19 05:16:34 +00:00
Dave Hoover 3b574d3f0e Make TabbedDSetEditor smart enough to add tabs as needed when values
in the dset change (and slap in the todo to make it smart enough to prune
tabs if they should go away, though not showing a now-empty tab is far less
important than actually letting you get at new values)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5788 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-18 17:44:46 +00:00
Dave Hoover 01721df0b8 Split those up because I'm doing evil things in yohoho & need to override
part of it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5787 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-18 17:43:33 +00:00
Charlie Groves c6dd5ba201 Add imports for generic types in method arguments
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5785 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-13 08:40:28 +00:00
Dave Hoover 497ade64e8 Last rejiggering, I promise! (I hope)
Let entries be in multiple groups.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5782 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-12 23:52:37 +00:00
Dave Hoover 7cfee2eabd Complexity++!
Turns out when I went to use TabbedDSetEditor in my scary real-world 
application instead of nice small test cases, I wanted to do fancier
stuff where I hide certain fields for some groups, etc. Break things
up into chunks so it's possible to override the various exciting bits
of functionality and do things like that.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5781 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-12 23:29:31 +00:00
Dave Hoover e740f387cc Some widening/foreaching I had lying around.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5780 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-12 23:25:07 +00:00
Dave Hoover bbbdd3bb60 Let NamedSetAdapter do the lifting for us.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5779 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-12 23:24:42 +00:00
Dave Hoover bba179b372 As Ray points out, iae's more useful as the second arg to our new
exception than in the log message.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5777 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-12 21:33:46 +00:00
Dave Hoover cd07e3a9ee This puppy's been in yohoho for a while, but seems like it would be generally useful in narya land.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5776 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-12 21:21:02 +00:00
Dave Hoover ff5c1bf3e5 Let us filter what entries a DSetEditor shows with a Predicate.
And then build on that to make TabbedDSetEditor so that we can
easily break up gigantic lists of entries into smaller & more 
manageable buckets.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5775 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-12 21:13:54 +00:00
Dave Hoover 239fec3236 SimpleEntry's a big boy now.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5773 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-11 20:23:19 +00:00
Dave Hoover 7d3f8a2c06 Gonna need that now that I'm actually throwing some of these across the net.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5772 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-09 00:09:00 +00:00
Dave Hoover 15ca8973bc KeyWrapper is pretty handy when you really just want a DSet stuffed
full of some pre-existing Streamable/Comparable type (e.g. String),
so let's buff it up to let us do that cleanly, and publicize it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5771 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-08 18:57:58 +00:00
Andrzej Kapolka 8e2a05864a Bring this maximum back down. I had thought that oversized
datagrams were fragmented and reassembled at the network layer, 
but apparently that's not something one can count on.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5770 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-07 02:22:25 +00:00
Dave Hoover 21cd434b4f Would've been better if I didn't misread the docs for "match" and had
realized my last change didn't actually work. We'll FIND stop words in
text now so our regexp doesn't have to match the whole string.

Took a peek at the as docs for RegExp.test() and it looks like the flash
side of things should be working properly after Ray duplicated this over
there, but I wouldn't mind if someone w/ that built could just double 
check that stopwords are still working properly there.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5769 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-04 18:25:12 +00:00
Michael Bayne 6c962bf3d4 Reflection is much faster these days, but we do a lot of event processing, so
let's not surreptitiously slow things down.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5768 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-04 17:50:44 +00:00
Dave Hoover f3e5b1a9c2 We don't need to make _stopMatcher match the entire content of the
text that contains the stop word since the filter only cares if it
exists at all in the text.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5766 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-02 06:29:40 +00:00
Michael Bayne 6eb8953c4b Allow flush time to be customized.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5765 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-01 20:36:11 +00:00
Michael Bayne bafb7f78c0 Added elapsedSeconds().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5764 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-01 19:34:38 +00:00
Michael Bayne a66c27a169 Track various peer stats.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5760 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-29 22:10:31 +00:00
Michael Bayne 2a4ac9b96a These don't need to be final.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5759 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-29 21:59:40 +00:00
Michael Bayne 17688e9ff5 Updated comment to reflect reality.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5758 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-29 21:59:28 +00:00
Michael Bayne e77949a143 Cleaned up stats tracking in PresentsDObjectMgr and ReportingInvoker. At some
point Pulse can probably totally replace the ReportManager at which time a
bunch of cruft can go away.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5757 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-29 19:05:04 +00:00
Dave Hoover c8dd3f1901 Expose that HashMap constructor on StreamableHashMap, too.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5756 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-29 18:59:10 +00:00
Michael Bayne f6a689cd47 Ray points out a flaw in our vizname to authname approach:
1. User logs onto node 1, node 2 establishes a viztoauth mapping.
2. User logs onto node 3 without logging out of 1, overwriting their
session.
3. Node 2 sees "member logged onto 3" and updates the viztoauth mapping.
4. Node 2 sees "member logged off of 2" and clears the viztoauth mapping.
5. Viola, there is no active viztoauth mapping, but user is online.

Distributed programming is hard. Fortunately on Whirled we can convert any
vizname to an authname without needing a mapping, so we'll just foist that
requirement onto every user of the crowd peer services (this will break Bang).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5755 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-28 17:00:10 +00:00
Andrzej Kapolka abc0bb9eb3 UDP fixes: we can only stop transmitting the mappings sent in the
acknowledged datagram (not the ones before it, which may or may 
not have been received).  Also, make sure we don't throw an 
ArrayIndexOutOfBounds exception when retrieving a bogus class 
mapping (so that we show the correct error logging information).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5751 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-27 23:28:16 +00:00
Michael Bayne 73dd5beda4 Same here even though we were doing long arithmetic which would most likely
avoid blowage.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5750 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-27 22:18:50 +00:00
Michael Bayne 7e777e9c72 Divide the millis by 1000 to get seconds instead of multiplying the numerator
and blowing an int.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5749 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-27 22:17:36 +00:00
Michael Bayne da4159c665 Switch to the ServerCommunicator. I'm sure it'll work just fine!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5748 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-27 19:51:06 +00:00
Michael Bayne a2d6549121 Comment fix.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5747 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-27 19:48:00 +00:00
Charlie Groves 749ab8e1bb google-collect upgrade
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5745 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-24 23:01:40 +00:00
Michael Bayne 510ddbb717 Instated some debug logging. Some day maybe I'll make it easy to enable debug
logging in a fine-grained way in a running server.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5744 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-24 19:03:17 +00:00
Michael Bayne 6fe7159b4c Provide an Iterable for our client objects.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5743 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-23 17:01:38 +00:00
Michael Bayne c754d42f5b Oops, it's called addDispatcher() now.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5740 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-20 17:58:18 +00:00
Michael Bayne 9155065ca8 Let's call it addDispatcher() to distinguish it from InvocationManager's
registerDispatcher() which requires a corresponding call to clearDispatcher().


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5739 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-20 17:55:33 +00:00
Michael Bayne 398ee3cfa2 Grant handy automatic invocation service clearing to place manager delegates.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5738 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-20 17:53:24 +00:00