internal bits. Only report that a session ended if we reported that it started,
but always clear out our bits when a session is shutting down.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5659 542714f4-19e9-0310-aa3c-eee0fc999fb1
Was going to try and skip the call to ClientObserver.clientSessionDidEnd if it has not yet been started but there is not clear way to determine the state of a session. It is shared between three different maps in ClientManager and PresentsSession and movement between the states is too complicated, at least for tomorrow's release.
[jamie@whirled1 /export/msoy]$ grep "Requested to release unmapped" log/world-server.log.2009-01-20 |wc -l
830
[jamie@whirled1 /export/msoy]$ grep "Unregistered client" log/world-server.log.2009-01-20 |wc -l
1971
[jamie@whirled1 /export/msoy]$ grep "Different clients" log/world-server.log.2009-01-20 |wc -l
362
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5641 542714f4-19e9-0310-aa3c-eee0fc999fb1
is a ConfirmListener, do it! Hopefully this doesn't fork anything up.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5636 542714f4-19e9-0310-aa3c-eee0fc999fb1
authentication name.
- Use new (ca. 2002) pattern of creating an overridable listener,
rather than making the whole class a listener.
Mdb told me to add this at the msoy level, but I think it belongs here.
Presents simply expects a user to be in one place.
It also occurs to me that we probably want something more sophisticated:
there may be unpersisted data connected to the session that should
be flushed prior to the session starting on another node. We may
want something like a lock when users log-in, so that other nodes
can terminate the session and flush any persistent data FIRST.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5635 542714f4-19e9-0310-aa3c-eee0fc999fb1
bring the "ChatSnooper" interface over, because it's not yet needed here.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5623 542714f4-19e9-0310-aa3c-eee0fc999fb1
rather than having the ChatDirector listen for location changes from the
location director. This allows us to have multiple location directors work with
the same chat director as long as we're only in one place in one of the
location directors at a time.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5621 542714f4-19e9-0310-aa3c-eee0fc999fb1
justice. Cleaned up some other stuff in the process.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5620 542714f4-19e9-0310-aa3c-eee0fc999fb1
plainly. Actionscript prevents us from reliably using them.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5619 542714f4-19e9-0310-aa3c-eee0fc999fb1
while we're processing its overflow messages, which causes its overflow queue
to be cleared which causes a ConcurrentModificationException.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5613 542714f4-19e9-0310-aa3c-eee0fc999fb1
- Sliiiiightly less efficient in a few cases.
- But: looking typed arrays up by class didn't work anyway,
there was some duplicated code in jname and class lookup,
and the jname thing handles Lists from the server. So
overall I think this is a win.
Less code is better code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5610 542714f4-19e9-0310-aa3c-eee0fc999fb1
- Register Long.
(I could probably sweep through narya and re-jigger a bunch of
the actionscript code that was written while I was learning the
language.)
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5609 542714f4-19e9-0310-aa3c-eee0fc999fb1
This was a bit of a rabbit hole and took longer than expected,
and I had a stupid bug that took a while to find,
but in the end there are way more lines of code removed than
added, so I'll call it a win. Streamer lookup is now via a Dictionary.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5608 542714f4-19e9-0310-aa3c-eee0fc999fb1