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
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
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
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
It's the closest thing to a shutdown.
I've got half a mind to write a LinkedHashMap, and then
an ExpiringHashMap on top of that, and then have
ExpiringHashSet just utilize that in its internals.
But, YAGNI, for now... for now...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5784 542714f4-19e9-0310-aa3c-eee0fc999fb1
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
- We shouldn't need to run checkTimer() on add(), generally.
If adding the sole element, we can just schedule the expiration
directly.
- Simplified and functionalized some other bits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5778 542714f4-19e9-0310-aa3c-eee0fc999fb1
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
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
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
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
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
using the new varargs fanciness, including a stack trace from the error.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5762 542714f4-19e9-0310-aa3c-eee0fc999fb1
I could also make this just implement each interface, but I like
being able to assign the functions to their proper names.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5761 542714f4-19e9-0310-aa3c-eee0fc999fb1
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
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
Now it is more useful for this to hash identically as in Java.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5753 542714f4-19e9-0310-aa3c-eee0fc999fb1