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
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
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
Michael Bayne
581230b9a2
Operate on a snapshot of the overflow queue values as a connection may fail
...
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
2009-01-03 00:41:53 +00:00
Michael Bayne
b811f9e97f
Enable unit profiling for great Whirled investigation.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5612 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-02 19:10:33 +00:00
Michael Bayne
bb152eb27b
Extract scheduleRegularReboot() into a method.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5604 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-12 23:50:20 +00:00
Michael Bayne
c8e725d5e5
Log pong receipts as well.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5603 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-12 21:25:51 +00:00
Michael Bayne
91f1a3f893
Make the ping debugging optional since dev seems not to be failing now.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5602 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-12 20:41:19 +00:00
Par Winzell
8b177eea6f
I didn't mean to commit that.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5601 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-12 16:06:18 +00:00
Par Winzell
fb4a28b2ed
Give Bureaus their own client object subclass. It does nothing at the moment, but we need it to be a distinct type for access control purposes.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5600 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-12 15:36:46 +00:00
Michael Bayne
82da1521f3
I swear this was generating unchecked type warnings before, but it seems not to
...
be now.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5596 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-11 01:21:45 +00:00
Michael Bayne
47216207b3
Cleany cleany.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5595 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-11 01:12:51 +00:00
Michael Bayne
f2b30890f9
Fix longstanding annoyance with proxy subscriber access control checking. If
...
we're proxying for a client, we now have to give up our ClientObject to anyone
who wants it, so that they can do access control checks.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5593 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-11 01:11:04 +00:00
Michael Bayne
ec9e3331b9
Put some debugging in to see if we can figure out why the game server is
...
screwing the pooch on dev1.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5589 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-10 01:31:28 +00:00
Dave Hoover
34ae8910d7
Widen & break one thing out so I can avoid copy & paste when I format
...
a very similar message in the yohoho reboot manager.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5570 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-27 00:30:48 +00:00
Jamie Doornbos
adf11c5381
Fixed index out of bounds exception. This was causing msoy aux reporters to never complete if the report type was not registered on the game server (e.g. servlet ony)
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5568 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-24 23:01:16 +00:00
Mike Thomas
a5b8aad082
Prevent a divide by zero that we're seeing occasionally on startup.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5567 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-21 00:22:51 +00:00
Ray Greenwell
7b9c0501a6
Added no-args generateReport() to generate default report.
...
There is a registerReporter() that doesn't take a type, so this
seemed like the way to go, rather than changing msoy to
pass in DEFAULT_TYPE.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5565 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-19 21:15:39 +00:00
Michael Bayne
457c8a59d6
Allow reporters to be registered for different report types and the type to be
...
specified at report generation time.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5564 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-19 19:53:46 +00:00
Michael Bayne
034284e103
Tuple.create -> Tuple.newTuple.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5559 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-18 21:15:43 +00:00
Michael Bayne
201ab6adc7
Turn off the debug report for now.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5554 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-17 20:36:26 +00:00
Dave Hoover
e1afaccd23
Cleanup some unused stuff & mark some overrides.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5547 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-12 18:46:06 +00:00
Michael Bayne
8890583476
If we are asked to end a session after the omgr has shutdown, just log
...
something friendly and drop the request. The server is about to go away.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5545 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-12 00:54:37 +00:00
Michael Bayne
c16731c8d1
Let's enforce that client reference copying with the structure of ObserverOps.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5541 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-11 19:09:42 +00:00
Michael Bayne
f4544ff76e
Include current connection and handler count in our conmgr stats.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5539 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-11 18:47:58 +00:00
Michael Bayne
a0cc2fd348
Nixed the notion of a ConnectionObserver. The only observer was the
...
ClientManager and it is already pretty tightly coupled to the ConnectionManager
so we weren't really fooling anyone with that ham-fisted attempt at
abstraction.
Also cleaned up more mid-shutdown behavior. If a session is unmapped after the
omgr exits, avoid generating a warning by trying to hop onto the omgr thread to
clean up after ourselves. We still do all the actual socket related closing so
that the party on the other end of the socket benefits from a clean shutdown
where possible.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5537 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-11 01:52:29 +00:00
Michael Bayne
2c0ca57551
Nix startup listener since that was only being used to shut everything down if
...
we fail to bind to any of our desired ports. We'll just do that automatically
because no one wants a totally hapless server sitting around unable to actually
accept any connections.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5536 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-11 01:04:08 +00:00
Michael Bayne
641967564c
A bit of tidying. Move the shutdown related methods below all the methods
...
dealing with normal operation.
Nixed getFlattener() in favor of createDatagramSequencer() so that the
ConnectionManager doesn't have to expose its guts quite so much.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5535 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-11 00:54:59 +00:00
Michael Bayne
22762a5aa9
Added a count of how many socket events we see (sockets reporting ACCEPTable or
...
READable), tidied up some other bits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5534 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-11 00:31:31 +00:00
Michael Bayne
58123a4df1
Added ConMgrStats.closes. Added code to dump conmgr stats to the log every 30
...
seconds so that we can see more about what's going on if we manage to recreate
our freakoutery.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5532 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-11 00:21:15 +00:00
Michael Bayne
065e5918e7
Comment clarification. Only the PresentsInvoker coordinates with the
...
PresentsDObjectMgr to achieve a coordinated shutdown.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5531 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-11 00:14:48 +00:00
Michael Bayne
9e1510c37d
Some useful logging.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5526 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-08 02:34:19 +00:00
Michael Bayne
9a6e3e9fe9
Temporary fix for the local server timing out outgoing connections. I don't
...
think it should be needed but I need to do more testing, post-bling.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5517 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-07 03:14:46 +00:00
Michael Bayne
eeb87f0721
Some new-style logging.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5516 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-07 01:50:58 +00:00
Michael Bayne
38e352443f
Nixed more debug logging.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5513 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-07 01:27:12 +00:00
Michael Bayne
c81f970590
Nixed debug logging.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5512 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-07 01:26:59 +00:00
Michael Bayne
c4909a5a5c
We need to start our connect() process on the conmgr thread and we also need to
...
properly handle a connecting connection becoming idle.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5511 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-07 01:21:02 +00:00
Michael Bayne
89f02fc728
Created ServerCommunicator which does all I/O using the ConnectionManager's
...
polled socket system. This much more cleanly and efficiently integrates peer
(and other server to server) connections into the normal server I/O framework
and should also eliminate for good the annoying server hangs that result when
our old blocking client I/O threads got their pants wedged.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5510 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-07 00:27:07 +00:00
Michael Bayne
b81ccde75b
ClientFactory -> SessionFactory, etc.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5509 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-06 18:24:44 +00:00
Michael Bayne
c69630b7e0
PresentsClient -> PresentsSession (Jamie's suggestion) and associated changes
...
on down the client.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5508 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-06 18:04:42 +00:00
Par Winzell
f17e0efd07
The throttle update cannot be applied in a Runnable, or we get a race condition against the frames coming in from network. The actual _throttle is only ever access from the network thread, so only _pendingThrottles needs extra care.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5501 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-04 19:55:06 +00:00
Jamie Doornbos
7a3f264d43
Minor changes to previous fix. Log runnable, event or message that is being posted to the inactive queue. Remove instanceof check since the invoker will always be of the expected type
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5495 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-03 23:14:47 +00:00
Michael Bayne
e843684637
Fix typo.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5494 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-03 23:01:45 +00:00
Michael Bayne
f60713de17
Between the time that we're shutdown and the time that we finally exit, do not
...
accept new connections or read incoming messages from any of our extant
connections. Do send outgoing messages to those connections, but nothing else.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5493 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-03 23:00:07 +00:00
Jamie Doornbos
e97d19476b
Be less harsh and just log a warning in case some shutdown methods rely on posted events or messages being silently ignored (invoker still throws however, because it was throwing before)
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5492 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-03 22:49:25 +00:00