required some serious bending and folding of the generic type system, but for
the most part we managed to avoid any mutilating. The gendobj task now
generates properly typed "addToXXX" and "updateXXX" DSet methods based on the
parameterized type of the DSet. This might cause unrecompiled code to break,
but I don't think there are many cases in the base toolkit where people call
DSet adders or updaters. We'll see and I'll add backwards compatibility
versions for cases where we need them to support GG games (everything else we
can just recompile).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4245 542714f4-19e9-0310-aa3c-eee0fc999fb1
construct that could be made to do what I want in a type safe manner. The
method returns Class<? extends NodeObject> which is correctly expresses the
valid types that can be returned.
However, I can't pass the capture <? extends NodeObject> (NodeObject extends
DObject) to a method that takes <T extends DObject>. I'm not entirely sure why
not, but I imagine it has something to do with the subtleties of type-erasure,
or maybe it's just a limitation of the inference that can be done by the
compiler. I don't know what type <? extends NodeObject> is considered to be, I
would have thought just NodeObject but apparently not.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4242 542714f4-19e9-0310-aa3c-eee0fc999fb1
resolution fails for whatever reason and we will properly track our pending
resolutions (not leaving them dangling if resolution failed) and do so more
elegantly (by simply acting as a ClientResolutionObserver ourselves).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4239 542714f4-19e9-0310-aa3c-eee0fc999fb1
make connections to other servers in the cluster and can exchange events (in a
limited fashion).
This is different than Liz's project wherein servers share an oid space and one
can interchangably work with distributed objects from any server. This package
provides a means by which certain services (by default, presence and chat) can
be communicated between servers to allow communication between players
scattered around a bunch of otherwise independent server instances.
This is less general purpose but also less likely to encourage people to write
code that tightly couples multiple servers and then falls over because it
generates gobs of network traffic as events are flung willy nilly behind the
scenes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4238 542714f4-19e9-0310-aa3c-eee0fc999fb1
asynchronous exception, so we can't use it or badness will ensue.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4235 542714f4-19e9-0310-aa3c-eee0fc999fb1
- Import bleeding may be fixed, as I had to import a bunch of things I
should have had to earlier.
- NOW they make duplicate variable definitions bad (but without block
scoping... yay).
- Another hoopjump.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4233 542714f4-19e9-0310-aa3c-eee0fc999fb1
code but new code should use the new logging style:
import static com.threerings.presents.Log.log;
and call log.info(), log.warning(), etc. We can migrate old code as the desire
grips us.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4231 542714f4-19e9-0310-aa3c-eee0fc999fb1
inheriting a socket channel inetd style. It doesn't actually work for annoying
reasons, but I figured I'd get the code in there and the type safety fixes and
maybe Sun will fix their stupid bug at some point (I should create a test case
and actually submit a bug report...).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4230 542714f4-19e9-0310-aa3c-eee0fc999fb1
synchronization problems and decided it would be a lot easier to just fix them.
The interval thread and the communication writer thread need to be properly
coordinated to avoid funny business.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4229 542714f4-19e9-0310-aa3c-eee0fc999fb1
Using the source code, I made one that takes the same idea and doesn't suck.
Errr, it doesn't suck as much. It's still very shitty to go from the fast
system cursor to a chunky custom cursor that updates position at the
framerate of the swf.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4228 542714f4-19e9-0310-aa3c-eee0fc999fb1
which is currently accumulating on the server and always zero on the client.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4224 542714f4-19e9-0310-aa3c-eee0fc999fb1
Only reset our accumulating counters for the periodic reports.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4219 542714f4-19e9-0310-aa3c-eee0fc999fb1
Turned off the very verbose unit profiles as we don't currently use them. Wired
up SIGUSR1 to dump a report to the log.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4218 542714f4-19e9-0310-aa3c-eee0fc999fb1
between logging in the Narya util package and the Nenya util package.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4214 542714f4-19e9-0310-aa3c-eee0fc999fb1
Pecos. I'll sort out the per-project niggling bits in just a moment.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4209 542714f4-19e9-0310-aa3c-eee0fc999fb1
out later when we're not in the middle of an Ice release.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4208 542714f4-19e9-0310-aa3c-eee0fc999fb1
sound fails to play for any reason. We use the StartObserver to time
other effects with sounds, however if the sound isn't going to play, we
still want the other effects to go ahead.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4203 542714f4-19e9-0310-aa3c-eee0fc999fb1
We'll call this with a big fat number whenever a non-guest logs in. The
first time we ask, the user will authorize the big fat storage, and it will
never ask again. Hopefully we can make it look like part of the login...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4202 542714f4-19e9-0310-aa3c-eee0fc999fb1
of LWJGL, the AWT canvas releases its OpenGL context after rendering.
Rather than redesign all event handling to take place in the update
method, I put in a hack to grab the context back.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4200 542714f4-19e9-0310-aa3c-eee0fc999fb1