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
Jamie Doornbos
82d4f36c1a
Fixes for shutdown sequence, including prevention of a race condition
...
* Throw an exception if any events, runnables or messages are posted after shutdown. These were previosuly being silently ignored. We really should know about them.
* Don't exit the connection manager thread until the object manager thread exits. This fixes a race condition where the wakeup time of the conmgr thread would determine if it shutdown before or after the object manager, meaning it would sometimes ignore messages around shutdown time.
* Add a shutdown constraint to make the client manager shutdown before the invoker/event/conmgr threads. This gives a single point in the shutdown sequence that applications can use as a constraint (TODO: shutdown groups?)
* Emit a log message for each shutdown method call. This could be very useful in production.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5491 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-03 22:20:16 +00:00
Jamie Doornbos
055ae0cc98
Allow bureau clients to report fatal errors if something goes wrong, like oh I don't know... maybe a disconnection perhaps
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5489 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-01 00:31:53 +00:00
Mike Thomas
dc99a123ad
Helps if we actually call the function that's able to be overridden.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5488 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-31 21:46:47 +00:00
Charlie Groves
0906ccdca5
Things work better when you set values and whatnot
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5487 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-31 20:31:51 +00:00
Charlie Groves
15c66260ea
Take ChangeListeners in SafeSubscriber's constructor that will start listening
...
to the subscribed object when it becomes available and will stop listening when
we unsubscribe.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5486 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-31 18:33:59 +00:00
Michael Bayne
a3e74276f5
Implement these listeners in helper classes rather than in ourselves where they
...
become undesirably part of our public interface.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5485 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-31 17:33:26 +00:00
Michael Bayne
7d4a594929
Truth in method naming.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5484 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-30 22:31:15 +00:00
Mike Thomas
f511469901
Purge the use of the getChatName() hack.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5482 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-29 22:26:56 +00:00
Mike Thomas
815f7b5b44
Allow the output stream to be overridden just like the input stream on the config registry.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5481 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-28 22:47:13 +00:00
Michael Bayne
677e06b193
Let's have a nice toString().
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5480 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-28 22:16:38 +00:00
Michael Bayne
7d5d10e2f8
Ray wants size() and I don't want mutators. I'll compromise and return an
...
immutable list.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5479 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-28 20:40:35 +00:00
Dave Hoover
da52d29a0a
Javadoc nitpickery
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5478 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-28 20:37:28 +00:00
Michael Bayne
826a1a0bcc
Added getLocals().
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5477 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-28 20:25:08 +00:00
Michael Bayne
6fd2882fa9
Actually we need to set up our local attribute here.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5476 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-28 20:02:51 +00:00
Michael Bayne
d1be746bdb
Created ClientLocal and BodyLocal which is where we'll track server-only
...
information.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5474 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-28 17:55:17 +00:00
Michael Bayne
c544146c45
Brevity is going to be our friend here.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5473 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-28 17:53:40 +00:00
Michael Bayne
7c52427d83
Added local attributes to DObject. These are objects that are stored only on
...
the local JVM (in general we'll use them on the server). The idea is to get rid
of all of our messy transients in BodyObject on down (and possibly other
places) and encapsulate them in a nice ClientLocal object (extended to
BodyLocal and on down).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5472 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-28 17:46:27 +00:00
Michael Bayne
6c4f37d49f
Drive by de-whitespace-excessificiation.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5469 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-26 21:08:21 +00:00
Michael Bayne
ded19474bc
Added foo/s to various report output.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5468 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-26 20:59:24 +00:00
Michael Bayne
ce7cc1bc96
Added PeerService.generateReport().
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5467 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-26 20:19:32 +00:00
Michael Bayne
8aeb239f64
Only put our header on logged reports, not reports generated by explicit
...
callers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5466 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-26 20:12:03 +00:00
Michael Bayne
f17740894e
Out vile tabs.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5465 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-26 20:09:18 +00:00
Michael Bayne
8b79a17b6d
A helper class that smooths out integration of Narya invocation service calls
...
with the java.util.concurrent Future paradigm.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5464 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-26 20:05:28 +00:00
Michael Bayne
8970582e6d
Only issue this warning if we actually have one non-null and one null value.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5461 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-24 21:43:23 +00:00
Michael Bayne
e52dae9a92
Accomodate up to one extra message per second in case the client is balls to
...
the wall. There are vagaries of timing that simply cannot be accounted for and
a client that spends too much time with its balls up against a proverbial hard
flat surface will eventually get disconnected, but we are now a bit more
lenient in handling ~10 second sustained bursts of activity.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5459 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-24 20:45:18 +00:00
Michael Bayne
1989531831
Mystery solved.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5457 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-24 07:13:13 +00:00
Mike Thomas
c4e0d1d278
Be a bit more flexible with the generics here.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5456 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-23 23:18:44 +00:00
Michael Bayne
2c35dbf0d0
Log this for a while while I debug the sporadic failure of session resumption
...
on Whirled.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5455 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-23 21:32:21 +00:00
Dave Hoover
43ce491518
Whoops, how about I look more closely when I do that? We're dealing with two
...
arrays here, so if I just sort the one, it'll give us nicely sorted tabs that
point to the wrong contents.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5453 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-21 22:47:13 +00:00
Dave Hoover
9ffd721490
Since these keys come back in pretty random order, let's sort them alphabetically.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5452 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-21 16:38:01 +00:00
Jamie Doornbos
6fa89df998
Allow a size limit to be imposed on the amount of output that we copy from a bureau process
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5450 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-16 22:37:08 +00:00
Dave Hoover
31d0151815
Nope, those really are on PlaceManager, they're just protected so
...
my javadoc stuff freaked out since PresentsServer isn't allowed to
see them. Point back to the right place.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5448 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-15 20:06:57 +00:00
Dave Hoover
27b52ccb87
Those are on me, not PlaceManager
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5447 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-15 18:58:26 +00:00
Michael Bayne
de6558a25b
Guard against naughtiness, intentional and not.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5446 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-14 23:16:39 +00:00
Michael Bayne
c914827458
We need an invmgr reference as well.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5445 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-14 23:02:18 +00:00
Michael Bayne
0764379634
Make omgr the same type it used to be.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5444 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-14 21:39:02 +00:00
Michael Bayne
ccba68ab36
This needs to come back to make a whole bunch of Game Gardens games work.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5443 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-14 21:32:54 +00:00
Michael Bayne
f1b1a06834
Updated services.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5436 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-10 22:46:24 +00:00
Michael Bayne
97b6ea79c5
Moved BodyObject.username down to ClientObject.username so that one can look up
...
the PresentsClient given a ClientObject.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5435 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-10 22:45:58 +00:00
Michael Bayne
91d7846b46
We need to register our handler for ThrottleUpdatedMessage.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5434 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-10 22:45:25 +00:00
Mike Thomas
c4527b2524
Split out the "chat name" from the rest of the visible name usage - Unfortuantely, visible name is used by various game bits as a lookup, so sometimes we want to just override the name to display in chat without affecting those lookups.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5431 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-10 01:25:18 +00:00
Dave Hoover
a9ed8f68da
Damnit, narya, stop getting that little yellow triangle w/ an exclamation mark
...
every time I svn up.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5427 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-08 22:25:39 +00:00
Michael Bayne
4f89bb2dbc
Point to the right explanatory method.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5425 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-08 20:14:27 +00:00
Michael Bayne
2e8b63435a
Thinking about it more, what we really want is for the client to target the per
...
second rate (10 messages per second), and to do the same 10x buffer on the
server that we were doing before so that we avoid disconnects due to network
congestion (which might "save up" some throttled messages and then end up
delivering them in a bunch with some later messages).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5424 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-08 20:13:30 +00:00
Michael Bayne
234b00df27
That's initialized in the constructor.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5423 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-08 19:39:35 +00:00
Michael Bayne
9c65e203b5
Client side message throttling. The server is configured with a hard limit, it
...
communicates that limit to the client which queues outgoing messages so that it
does not exceed the limit. When the throttle is changed, the server does not
apply the new throttle until the client has ACKed it to avoid edge cases where
the client is up against the limit when the throttle changes.
ActionScript side of all of this forthcoming as well as more testing.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5422 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-08 19:38:00 +00:00
Dave Hoover
df42b4a013
Overrides & whitespace.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5421 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-08 18:51:22 +00:00
Jamie Doornbos
c614d0d625
Nixed unused import
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5418 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-07 23:44:44 +00:00