and you can't use @Override in java 5 when implementing an interface method.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5378 542714f4-19e9-0310-aa3c-eee0fc999fb1
- It's probably "more" standard, and maybe when they finally add Predicate
to java.util, it will be based on google's implementation.
- Unfortunately this is a little less efficient at runtime. The samskivert
Predicate can filter into a new Collection that knows its size, google's
code just returns an Iterable that is a *view* on the Iterable passed
in, so it doesn't know how many elements are in it. When we copy it into
an array, a List is first created to receive all the filtered elements
from this view, then that List is turned into an array. Oh well, it's
less lines of code here in this class thanks to Google's fun libs.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5375 542714f4-19e9-0310-aa3c-eee0fc999fb1
you should always listen for the result! Otherwise, you are likely doing
something wrong. Listen for the result, or change the service to not report
a result if it's irrelevant.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5374 542714f4-19e9-0310-aa3c-eee0fc999fb1
Note: this involves generated code from a samskivert patch I only just sent to mdb,
but he's in a meeting, so that won't show up for a little.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5369 542714f4-19e9-0310-aa3c-eee0fc999fb1
failure to implement a zero arg constructor even in a developer's single server
test environment.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5367 542714f4-19e9-0310-aa3c-eee0fc999fb1
Is that 'private' you see there? Omigod. It is.
Normally we eschew private because we feel like people should be
able to use our classes how they see fit.
However, you *really* shouldn't be futzing with these fields,
and them being protected would allow someone to write an Enum subclass
and fuck-up other unrelated Enum subclasses, so I'm making an exception here.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5365 542714f4-19e9-0310-aa3c-eee0fc999fb1
and so @param tags just match up to parameters based on order.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5364 542714f4-19e9-0310-aa3c-eee0fc999fb1
Thane apparently has a maximum stack depth of 64, and this is quickly getting eaten up by readAvailable() when lots of frames are sent down the tubes simultaneously. (mxmlc doesn't seem to optimize tail-recursive functions.)
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5360 542714f4-19e9-0310-aa3c-eee0fc999fb1
- Before, the Input/OutputStream classes handled Streamables directly
and Streamers were never created for them. Simplified the code somewhat
by always creating a Streamer. It's now more like the Java side, too.
- No more BAD_STREAMER, since null now means "bad".
- Built-in support for streaming enums.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5352 542714f4-19e9-0310-aa3c-eee0fc999fb1
Rather than copy all the set levels to the level cache when a level is set,
just clear the cache and repopulate it when we look up a level.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5343 542714f4-19e9-0310-aa3c-eee0fc999fb1
Damn actionscript. "for" vs "for each" and each one uses (bla in foo), which
is also a statement in itself. That and the optional semicolons. I bet
the parser for the compiler was fun to write.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5342 542714f4-19e9-0310-aa3c-eee0fc999fb1