Michael Bayne
6fe7159b4c
Provide an Iterable for our client objects.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5743 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-23 17:01:38 +00:00
Michael Bayne
c754d42f5b
Oops, it's called addDispatcher() now.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5740 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-20 17:58:18 +00:00
Michael Bayne
9155065ca8
Let's call it addDispatcher() to distinguish it from InvocationManager's
...
registerDispatcher() which requires a corresponding call to clearDispatcher().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5739 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-20 17:55:33 +00:00
Michael Bayne
398ee3cfa2
Grant handy automatic invocation service clearing to place manager delegates.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5738 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-20 17:53:24 +00:00
Michael Bayne
1eefc50828
Common problem: place managers register dispatchers when started up and forget
...
to clear them when they shutdown. Solution: add a mechanism for registering
dispatchers such that they are auto-cleared when the manager shuts down.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5737 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-20 17:44:03 +00:00
Mike Thomas
48b3a27af8
Prevent a divide by zero error attempting to generate a log.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5736 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-20 17:12:27 +00:00
Michael Bayne
916cb30339
Clear out our _bstrap reference when we logoff. What's good for the
...
ActionScript goose is good for the Java gander.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5735 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-18 00:07:54 +00:00
Jamie Doornbos
e76d1a6610
Interesting... if the peer disconnects before the node object subscription completes, an NPE would fire... but could this have prevented a lock from being release. It doesn't seem likely since a lock probably can't be assigned until the subscription is complete anyway(?). But then again, maybe some information is passed prior to this. In any case, stop throwing an NPE here.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5723 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-16 17:12:15 +00:00
Michael Bayne
e1b29dbf6f
The BodyObject can definitely supply its Name.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5717 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-14 16:31:17 +00:00
Ray Greenwell
d1d6aa50d9
Unburden init() from things that can be injected.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5715 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-11 01:21:19 +00:00
Ray Greenwell
24760fa266
Create our PeerNode object through injection.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5714 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-11 01:12:16 +00:00
Ray Greenwell
18d36176a3
The PeerNode is the thing that calls clientLoggedOn/Off on the PeerManager,
...
so let's keep with that pattern for any clients there when the
peer itself connects or disconnects.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5713 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-10 22:25:35 +00:00
Michael Bayne
ca8904b9db
Let's actually name that something different.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5710 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-06 21:19:25 +00:00
Michael Bayne
3b1024651a
Split our reports into the default report and a separate report for the giant
...
morass of profiling data.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5709 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-06 21:13:59 +00:00
Ray Greenwell
bc6929d239
Actually, let's make a whitelist the valid modes.
...
YAGNI code, no ability to break-out the whitelist.
No other game of ours uses other valid modes, does it?
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5701 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-26 23:36:03 +00:00
Mike Thomas
5ba9ea1faa
Fix a big ol' memory leak. This remove() call appears to have accidentally gotten commented out in a warnings-cleanup pass because it used to assign the result of the remove to a variable only used in a commented-out Log.info(). Since the receivers stored in the hashtable can point to exciting things, like, say, puzzle panels, it was causing a pretty immense amount of stuff to get held onto.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5700 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-26 23:26:26 +00:00
Michael Bayne
88bec3d641
Prunexorz!
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5698 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-26 00:43:50 +00:00
Michael Bayne
688f2580ed
Varargified log calls.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5697 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-26 00:02:19 +00:00
Ray Greenwell
647a25dfdc
Even better: have the base PeerManager call clientLoggedOn and clientLoggedOff
...
for every client on another node when it connects or disconnects from that node.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5696 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-25 23:10:02 +00:00
Ray Greenwell
4a5136d3f0
Bugfix: chat bug.
...
If node A started up and connected to node B, which already had players logged on,
then nobody on A could send chat to anyone on B.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5695 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-25 22:56:29 +00:00
Ray Greenwell
a419ed8455
Support for broadcasting with either a custom attention level
...
(for system messages), or a custom mode (for user broadcasts).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5693 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-25 21:23:32 +00:00
Charlie Groves
0da49cb6ab
Uhh, might want to handle PresentsSession.getInetAddress returning null for disconnected clients
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5687 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-18 20:14:15 +00:00
Charlie Groves
45999ffdc2
Pull bundle loading out into a method so subclasses can have their way with it
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5685 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-13 21:49:37 +00:00
Michael Bayne
dec9e7ee70
Execute clearClientInfo() in a transaction on NodeObject so that when derived
...
classes naturally remove extra crap from the NodeObject as a result of the
client departing this node, it all goes out in a single event. Cross-server
traffic-- go!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5684 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-11 19:27:33 +00:00
Michael Bayne
4a7cb2c82f
Rethink! Instead of hacking up the peer ClientInfo system for the one thing
...
that actually needs to look clients up by visible name (chat forwarding), we'll
just leave things as is (as in mapped by auth username) and take care of our
own shit in ClientPeerManager.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5683 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-11 17:47:35 +00:00
Charlie Groves
8f05b41c6a
Add getSessionsForAddress to return all the active sessions for a given IP address.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5682 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-06 21:29:01 +00:00
Michael Bayne
5bd1ef9d8c
Use new isTainted and untaint methods.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5680 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-05 01:22:49 +00:00
Dave Hoover
7cd3f69ff6
Speeling
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5678 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-04 21:33:49 +00:00
Andrzej Kapolka
028b53df68
If a message is too big to be sent as a datagram, fall back to
...
sending it on the stream. However, also increase the maximum
datagram size.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5670 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-24 22:58:22 +00:00
Ray Greenwell
849aeed79c
Me wrap you long line.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5669 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-24 02:25:02 +00:00
Dave Hoover
b6c130c91b
We don't yet throw an exception here in AdminProvider (yet), but I want to downstream
...
in yohoho's overriden version of this, so announce we're capable of it here.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5664 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-23 21:59:32 +00:00
Dave Hoover
41003c6059
Widen/remove unused variable
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5663 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-23 21:53:18 +00:00
Par Winzell
fe357a5099
Give bureau sessions their own classes, and use it react immediately to disconnects. When a Thane instance dies, we want the game to shut down immediately. There's no going back from that.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5662 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-20 21:41:56 +00:00
Michael Bayne
0650c074b3
Actually clearSession() can be called from any thread.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5660 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-18 23:08:13 +00:00
Michael Bayne
e01c8b0635
Separate the reporting of session end to observers from clearing out our
...
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
2009-02-18 23:06:32 +00:00
Michael Bayne
6839b98d4d
Oh the bugs we find when we reinstate preconditions that were foolishly removed
...
by yours truly.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5657 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-13 21:57:11 +00:00
Michael Bayne
f75d810a92
Now that the PresentsSession reports its authname type, we can skip it in a few
...
of these places.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5656 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-13 03:08:16 +00:00
Michael Bayne
1f6f8edeb9
Allow custom BodyLocators to be provided to different PlaceManagers. Twisty
...
maze of passages!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5655 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-13 03:08:01 +00:00
Michael Bayne
31d09fcd14
Disambiguate custom auth names.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5654 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-13 02:51:55 +00:00
Michael Bayne
9a4f2edc5d
We can just inject the injector.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5653 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-13 02:51:34 +00:00
Mike Thomas
1d9c2802ea
Let's handle shorts and bytes too.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5651 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-06 21:29:08 +00:00
Michael Bayne
65f4810832
Nixed unused import.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5649 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-03 01:43:14 +00:00
Par Winzell
3171bc1ff4
Change the behaviour of the NameUpdater to play nicely with Name implementations where equal() does not depend on display name. Write cumbersome TODO comment.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5648 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-02 22:03:26 +00:00
Michael Bayne
4912d22b90
Widening, made a note about why we don't set _shutdownRequested.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5647 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-01 22:53:55 +00:00
Dave Hoover
ef4ee0ac1e
Let's teach GenReceiverTask to cope with inner classes the same way
...
GenServiceTask already does.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5643 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-27 01:45:19 +00:00
Jamie Doornbos
a3d08aaa2d
Oops, missed this little guy.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5642 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-22 16:54:08 +00:00
Jamie Doornbos
00954dff5b
Stop spamming the log file with these warnings. The code does nothing to prevent them and they are happening all over the shop in msoy.
...
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
2009-01-22 06:46:00 +00:00
Jamie Doornbos
ba600f771d
Allow client resolution to bail out in an orderly fashion is a disconnection occurs
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5640 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-22 06:32:14 +00:00
Jamie Doornbos
2a1b047159
Fixed negative units per second value when total units is greater than about 2.2 million
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5639 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-19 23:46:53 +00:00
Jamie Doornbos
3372808a9a
Proper GLPGL header
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5638 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-19 23:02:19 +00:00