Commit Graph

241 Commits

Author SHA1 Message Date
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 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
Jamie Doornbos 0f8c7d8f4c Get the trace for that pesky NPE in Client.Reader.receiveMessage
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5540 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-11 18:53:48 +00:00
Jamie Doornbos 2014f8c906 Prevent calling observers with a null client
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5538 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-11 18:43:29 +00:00
Michael Bayne 64115155ec Shut down our flusher when we're cleaned up.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5529 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-08 03:35:02 +00:00
Michael Bayne 2187609696 Stop our tick interval in cleanup() rather than logoff(). Logoff is not always
initiated by the client, but we always want to stop our ticking.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5519 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-07 18:46:36 +00:00
Michael Bayne 93d36c045f Small tidying.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5515 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-07 01:44:21 +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 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 657aafaedb And of course, if I were thinking this morning, I would've rerun the organize imports
thing before committing instead of just going "oh yeah, I've been having this stuff
sitting around uncommitted for a while waiting on it to be blessed" and missing
out on things that'd changed in the meantime.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5400 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-26 17:35:29 +00:00
Dave Hoover 8856120403 Import cleanups
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5399 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-26 17:29:59 +00:00
Dave Hoover 7ee6ace683 Javadoc warnings cleanups.
Note: this involves generated code from a samskivert patch I only just sent to mdb,
but he's in a meeting, so that won't show up for a little.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5369 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-12 17:59:26 +00:00
Charlie Groves 80ca1dbc64 Fix broken javadoc links and params to kill my Eclipse warnings. This includes
importing receivers from their senders to satisfy their links.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5333 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-21 01:46:51 +00:00
Jamie Doornbos 495e29fa05 Actually append the creds. Why was I not surprised by creds=] when I tested this?
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5331 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-20 04:52:08 +00:00
Dave Hoover df2e316330 Pedanticism police.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5326 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-15 23:19:25 +00:00
Jamie Doornbos 172349abb3 Give a little bit of information about Client instances when one is logged. This is for the bureau
launcher which manages a lot of clients, but seems generally useful.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5322 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-14 20:53:35 +00:00
Michael Bayne 1d3122d11c Handle failure properly now that shutdown tries to finish up.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5307 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-11 20:19:28 +00:00
Michael Bayne 5c3b5e9af3 Finish off what's in our queue before allowing the writer to exit. This ensures
that the LogoffRequest is sent to the server even if we have one or more
pending messages on the writer's queue at the time of logoff().


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5306 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-11 20:17:36 +00:00
Michael Bayne 3385e9ba4a It's not entirely obvious how we should respond to multiple calls to logoff()
fired in such rapid succession that we have not completed processing the first
call before the next one comes in. We could do the cumbersome thing and keep
track of an _isLoggingOff state but that is so inelegant that I can't bear to
do it. I'd rather just cope in the Presents code and put the onus on the caller
not to do wacky things like this.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5296 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-07 16:52:19 +00:00
Michael Bayne 725f656197 Fixed a bunch of type safety bits pointed out by the latest version of Eclipse.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5274 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-30 12:58:51 +00:00
Michael Bayne 93fb7b01f7 Fixed some unused variables, unused imports, type variable hiding, tricky
generic array type handling and other niggling bits.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5267 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-26 20:40:20 +00:00
Michael Bayne 5c4ab96880 Styley stylopolis.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5252 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-22 14:01:51 +00:00
Michael Bayne 67ce73b61d More style cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5249 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-22 13:39:42 +00:00
Michael Bayne c743432676 More style changes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5248 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-22 13:02:13 +00:00
Dave Hoover 6b1d65553f And finally, narya gets the imports/overrides/regen love.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5241 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-18 23:20:17 +00:00
Michael Bayne 8d6635e8e0 Type the marshaller and associated registry methods so that we don't have to
downcast every time we register an invocation service provider.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5201 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-29 12:36:21 +00:00
Ray Greenwell cfee03318b Name That Thread: bonus round!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5181 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-13 00:53:38 +00:00
Charlie Groves 6abd794182 Everybody's favorite new game show, Name That Thread
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5178 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-11 00:46:02 +00:00
Michael Bayne 64f418fca9 Looks like Dave already fixed Yohoho, so we're in the clear.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5141 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-28 22:27:25 +00:00
Michael Bayne 8e7e9b1278 Work with both for now until I migrate Yohoho.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5140 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-28 22:22:58 +00:00
Michael Bayne c915f24010 Switched to the new logging API.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5139 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-28 22:21:04 +00:00
Michael Bayne 919112cf88 Switch to new samskivert logging API.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5134 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-27 19:25:38 +00:00
Andrzej Kapolka ac3640dc9d Standalone clients don't have communicators.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5129 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-23 21:00:08 +00:00
Andrzej Kapolka ee74481cad Much work on generalizing the notion of message "transport" and
allowing the use of annotations to customize transport for 
DObject fields and service/receiver methods.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5099 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-16 01:47:33 +00:00
Andrzej Kapolka 9bafa5e7c8 Basic support for datagram messaging. Hope I haven't fucked
anything up!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5090 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-13 21:12:39 +00:00
Ray Greenwell bf55267dac Let's handle the common case first here too.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5014 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-23 17:35:09 +00:00
Charlie Groves b65487f318 Cut the number of times a service class needs to be specified to two
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4993 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-10 01:18:32 +00:00
Mike Thomas 6e0bd68148 Roll back the interrupt() yet again - 1) it didn't fix the problem we were trying to fix and 2) it was causing problems with logoff.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4968 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-10 17:20:03 +00:00
Mike Thomas 1076052701 Remove the temporary debug logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4967 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-08 01:34:42 +00:00
Mike Thomas b097e46637 Need a default constructor visible to our descendants.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4965 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-08 00:35:07 +00:00
Mike Thomas 4fabfcf0f3 Resort to adding some temporary logging printouts to BlockingCommunicator to figure out what's keeping the reader thread from being shut down.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4964 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-07 23:53:19 +00:00
Mike Thomas 0af0ce8469 Re-instate the interrupt() but setup some additional exception handling so we don't spew to the logs unnecessarily due to this.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4962 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-07 20:09:13 +00:00
Mike Thomas 69646f624b Roll this back - calling interrupt() in this way caused the other end's writer to get fairly upset.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4961 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-06 21:43:08 +00:00
Michael Bayne d153a06aa2 Reinstate the kick in the pants for the reader thread. Previously we relied on
the LogoffRequest being received by the server which resulted in the server
closing its end of the socket which resulted in the reader being woken up to
hear that its socket was closed and then it exited. We'll just have it exit
immediately. It's possible that messages in transit to the reader that would
have been read prior to full shutdown will now be dropped instead of delivered,
but the client has already requested to logoff, so they can't really care about
additional messages coming from the server.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4960 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-06 19:14:19 +00:00
Mike Thomas e8b5d41fb8 Split out the way we handle the preferred port so we can override that.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4958 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-05 19:09:36 +00:00
Dave Hoover 0b068d5189 You know, generifying that correctly is actually a big scary tunnel of dealing with
our generated services & whatnot, so that's a much deeper rabbit hole than I was 
thinking when I just did that one big, so I'm going to leave that well enough alone
for now instead of half-assing it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4949 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-03 22:11:45 +00:00
Dave Hoover 8c5e04aac5 Generify.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4948 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-03 22:06:49 +00:00
Dave Hoover 24f557c0d7 Speeling
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4924 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-01-22 23:57:54 +00:00