Commit Graph

1369 Commits

Author SHA1 Message Date
Charlie Groves 749ab8e1bb google-collect upgrade
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5745 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-24 23:01:40 +00:00
Michael Bayne 510ddbb717 Instated some debug logging. Some day maybe I'll make it easy to enable debug
logging in a fine-grained way in a running server.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5744 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-24 19:03:17 +00:00
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
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
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
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
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
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
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
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
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 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 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 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
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
Jamie Doornbos 9cbed63ac7 Share the Reporter implementation of PresentsInvoker so that the PresentsAuthInvoker is reported too.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5637 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-19 22:50:28 +00:00
Ray Greenwell 46e048ab4a Change the default behavior of handleSuccess: if the listener
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
2009-01-17 02:21:44 +00:00
Ray Greenwell b2b8f57454 - Monitor logins to other nodes, boot any local sessions with the same
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
2009-01-15 23:19:02 +00:00
Ray Greenwell 9d28bdbeef Drive-by logging varargification.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5634 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-15 22:04:36 +00:00
Jamie Doornbos 44a4981d27 Stop trying to flush clients after the server shuts down
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5633 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-14 23:28:16 +00:00
Jamie Doornbos a99489e650 Aha! Fixed race condition in narya fundamentals introduced with guice (r5153). This was causing a very rare concurrent modification exception when a client would log on when another one was about to expire. The problem was revealed by the trace in the msoy log of the 2009/01/10.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5632 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-13 22:33:56 +00:00
Michael Bayne 96fb4752b3 Make it easy to determine how many (if any) nodes on which your function was
called.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5631 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-10 22:51:26 +00:00
Michael Bayne d273a550fa More session type reporting.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5630 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-10 19:04:12 +00:00
Michael Bayne 4e980867cf No need to repeat ourselves.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5629 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-10 18:56:33 +00:00
Michael Bayne 84b0a6b413 Report information that will allow us to disambiguate world, game and party
auths.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5627 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-10 18:46:31 +00:00
Michael Bayne 991b9a9ffc Updated to new Depot world order.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5625 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-08 02:10:25 +00:00
Par Winzell 09850202a8 The signature of findAll() has changed.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5624 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-07 19:32:59 +00:00
Dave Hoover e6180d359d Clean up a couple warnings
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5618 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-05 18:37:33 +00:00
Jamie Doornbos e9bfc85db8 Let new implementations of this have better variable names
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5616 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-04 21:24:20 +00:00
Jamie Doornbos 05afcd70d9 Moved a constant to the base class and replaced the hard-wiring there
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5615 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-04 07:14:54 +00:00
Jamie Doornbos eaa270be35 Stop java clients from queueing up ticks after logoff. This was sometimes causing a warning during shutdown.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5614 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-04 06:09:36 +00:00