applied immediately on the authoritative copy of the object (the one on
the server). We already do this for all other object modifications (except
OidList which is kind of special anyway), but we should be wary of
potential wickosity.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2302 542714f4-19e9-0310-aa3c-eee0fc999fb1
processing invocation units. It needs a timer with much finer granularity
than one millisecond to be useful.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2223 542714f4-19e9-0310-aa3c-eee0fc999fb1
warning messages saying that we couldn't deliver events on the client that
come in after all client-side subscribers have been removed.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2204 542714f4-19e9-0310-aa3c-eee0fc999fb1
init() also provides immediate feedback re: the server starting up and a
timestamp in the log against which subsequent action timeliness may be
weighed. I suspect mdb will decide this is better off residing in the
Yohoho-specific server and outputting to something like the server state
audit log, but I like it here and so I've forged ahead. If this does get
the axe, I still claim that logging "Server starting up..." as the first
business in init() is useful and desirable.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2143 542714f4-19e9-0310-aa3c-eee0fc999fb1
wide variety of fucked up situations that might occur:
- Client authenticates and disconnects before their client object is
resolved.
- Client authenticates and requests to end their session before their
client is resolved.
- Client does one of the two previous actions and then attempts to
reestablish a session before the client object is resolved from their
first connection attempt.
- Client establishes a session in any of the previous or a normal
circumstance but their client object fails to resolve.
Goddamned distributed programming, race-condition cluster fuck, strange
shit happening once in a blue moon business.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2086 542714f4-19e9-0310-aa3c-eee0fc999fb1
user's session if their client object is not yet resolved. When it does,
their session will be "started" for the first time and everything will
work itself out.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2068 542714f4-19e9-0310-aa3c-eee0fc999fb1
being able to send a message immediately to the client due to it being too
large or the client's outgoing networking buffer being full for some other
reason (many messages sent very quickly or client that's reading messages
slowly).
I still need to add code to disconnect a client who fails to read messages
in a sufficiently timely manner.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2038 542714f4-19e9-0310-aa3c-eee0fc999fb1
call super.sessionDidEnd() and still do things with the client object at
the termination of the session.
Also removed the passing of the client object to sessionConnectionClosed()
because it's still possible that it won't be avaiable when that method is
called and whatever is being done there should also be done in
sessionDidEnd() if it is to work when the user ends their session as well
as when they disconnect.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2027 542714f4-19e9-0310-aa3c-eee0fc999fb1
because it will have been cleared out of _clobj by the time said method is
called if it is called as a part of a terminated session.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2021 542714f4-19e9-0310-aa3c-eee0fc999fb1
managers can participate, reporting lies, damned lies and useful
statistics. Initial participants include the client manager, the
connection manager and the distributed object manager.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1894 542714f4-19e9-0310-aa3c-eee0fc999fb1
connected or disconnected. Use this to determine if a client has "expired"
(meaning they've been disconnected for too long).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1871 542714f4-19e9-0310-aa3c-eee0fc999fb1
the server in 90 seconds. The client is set up to ping the server if it
has had nothing to say to it for other reasons in the last 60 seconds.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1860 542714f4-19e9-0310-aa3c-eee0fc999fb1
react to player disconnection, idle (implementation still pending), and
reconnection appropriately. Added PlaceManager.bodyUpdated().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1831 542714f4-19e9-0310-aa3c-eee0fc999fb1
they needed to and when all that was stripped away, they didn't really
need their own config files.
Now what little config they need is provided by the users of these basic
services so that said users can make their own decisions about where to
obtain configuration information.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1820 542714f4-19e9-0310-aa3c-eee0fc999fb1
processed everything put into its queue during the initialization process.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1767 542714f4-19e9-0310-aa3c-eee0fc999fb1