sometimes (never on my server!) released twice. This will save the stack
trace from the first release and spit it out after the "normal" error-reporting
stack trace from the second release.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2955 542714f4-19e9-0310-aa3c-eee0fc999fb1
milliseconds) and same every 100th event instead of profiling every event.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2951 542714f4-19e9-0310-aa3c-eee0fc999fb1
so that things go smoothly if they decide in requestFailed() to call
unsubscribe() in the course of their normal shuttings down.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2920 542714f4-19e9-0310-aa3c-eee0fc999fb1
the math appears to work out even though time stopped. We can use
RunAnywhere.currentTimeMillis() which will warn if time goes backwards but
since when that happens the IntervalManager stops dead in it's tracks,
we'll never get ticked to find out about it. Fucking Windows.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2911 542714f4-19e9-0310-aa3c-eee0fc999fb1
client object has been updated so that the 90% of the directors that just
need to know any time that sort of thing happens so that they can listen
on the current client object can easily and robustly do so.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2907 542714f4-19e9-0310-aa3c-eee0fc999fb1
on the heels of a requestFailed(). They don't have to do it, but it's
easier to just always call unsubscribe() whether things succeeded or
failed, so we'll quietly allow an unsubscribe() even if we have no object
or nothin'.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2905 542714f4-19e9-0310-aa3c-eee0fc999fb1
milliseconds. I want to know what in the fuck those were.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2840 542714f4-19e9-0310-aa3c-eee0fc999fb1
services that registered (ignoring unregisters) but I can't get it to
cough up the problem on my machine, so it's a little hard to test. If you
fine cvs readers want to take a peek that would be great. Hurray for
debug code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2836 542714f4-19e9-0310-aa3c-eee0fc999fb1
post events to an object that is already destroyed, we'll allow
transactions to be started on non-active objects and we'll just log a
warning when the transaction is finally committed like we do for all other
events on non-active objects.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2835 542714f4-19e9-0310-aa3c-eee0fc999fb1
client is disconnected, unsubscribe immediately. We normally unsubscribe
when the client loses its connection but it's possible for a subscription
request to come in and the client to lose connection before we can
communicate the object available response.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2824 542714f4-19e9-0310-aa3c-eee0fc999fb1
erroneously decide that we have stale subscriptions around, and log stale
subscriptions if we do end up clearing them.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2817 542714f4-19e9-0310-aa3c-eee0fc999fb1
pirate selection and the time we manage to load up their pirate.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2816 542714f4-19e9-0310-aa3c-eee0fc999fb1
creates an Object[] as well. Now we cache the Field instances and look
them up ourselves which will likely be much more efficient at only a small
additional memory cost.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2805 542714f4-19e9-0310-aa3c-eee0fc999fb1
through some well-timed disconnection early in the initialization phase),
we should consider it idle because then we'll catch it on the next tick
and flush it whereas otherwise it would just sit around forever until
someone logged in from that IP again.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2788 542714f4-19e9-0310-aa3c-eee0fc999fb1
and refuse subscriptions to invalid oids (it's not out of the realm of
possibility that the clients were somehow subscribing to oid 0 and funny
things were happening).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2778 542714f4-19e9-0310-aa3c-eee0fc999fb1
by making these transient we can hopefully debug it more effectively if it
happens in the future.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2773 542714f4-19e9-0310-aa3c-eee0fc999fb1
the reporting interval. Now we can see if we're leaking intervals (which
would be double plus ungood).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2769 542714f4-19e9-0310-aa3c-eee0fc999fb1