Commit Graph

931 Commits

Author SHA1 Message Date
Michael Bayne 7853f2fb94 Log the _username instead of the _clobj which might go away.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4985 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-29 17:53:56 +00:00
Dave Hoover 4d77995e06 Store off a reference to the interval that generates our server reports so that subclasses can play with it if they want.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4979 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-24 21:11:30 +00:00
Michael Bayne 474ba03a8e Allow clients other than peer clients to be ignored.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4977 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-21 00:47:43 +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
Michael Bayne 8a745b30e0 Listen for SIGTERM as well and gracefully shutdown in that case.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4959 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-05 23:28:28 +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
Charlie Groves 8a7f4c4121 Clarify that SetListeners get all Entry events, not just the ones for a particular set
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4939 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-02-19 23:05:30 +00:00
Charlie Groves 7564f88796 Expose the type on Entry* events to SetListener and SetAdapter
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4938 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-02-19 20:40:09 +00:00
Dave Hoover 4f5d065405 Access this static method in a static way.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4928 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-01-31 21:26:37 +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
Dave Hoover 2ce35db583 Remove unneeded casts.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4923 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-01-17 01:25:52 +00:00
Charlie Groves 643982e798 If we just bail after a connection closes during resolution, the ClientManager still thinks we're resolved and can just resume the session if the client reconnects. Resuming fails because we don't have _clobj to resume with, so the client fails to connect over and over again until the half-connected client is flushed from ClientManager's cache several minutes later. Just clear the client out of the cache immediately instead.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4920 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-01-08 04:12:35 +00:00
Michael Bayne 768e6a76be Create our shutdowner list at class init time so that it is safe to register a
shutdowner at any time.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4915 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-20 22:05:49 +00:00
Michael Bayne 6e55c2df8b Use samskivert signal wrapper.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4909 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-17 22:23:51 +00:00
Dave Hoover 289475b253 Keyword substitution.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4893 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-03 21:07:34 +00:00
Michael Bayne 4c4d253974 Let's add a couple more very handy helper methods.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4891 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-03 19:54:58 +00:00
Michael Bayne cb46d3a1af Allow the unit to throw InvocationException and do the right thing with it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4890 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-03 19:45:53 +00:00
Michael Bayne c935c46612 Handle the client connecting and disconnecting before client object resolution
completed, or connecting, disconnecting and reconnceting before client object
resolution completes a little more gracefully.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4889 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-03 18:28:07 +00:00
Michael Bayne 983adf75e5 Nix the wacky arguments thing. Let the caller simply beware.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4885 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-28 01:03:49 +00:00
Michael Bayne 69a1d2ec23 Slight change to usage and documentation.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4884 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-28 00:47:16 +00:00
Michael Bayne 95adfeb646 Regenerated services.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4883 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-28 00:25:35 +00:00
Michael Bayne 9e835ff6e9 Added a way to package up an action and data and send it to all appropriate
servers for execution. The class in question must exist on the remote server
but all of our servers are all always running the same code, so this follows.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4882 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-28 00:25:23 +00:00
Michael Bayne 63db77667a Some type safety, redundant cast removal, and other code hygiene.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4879 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-24 19:40:19 +00:00
Dave Hoover 6eb2c79b19 Flag overrides in this template.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4878 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-21 19:16:05 +00:00
Mike Thomas aa418e19ee If the reboot time requested is at exactly the right time for the warning, we can use that warning and not require to go to the next level.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4877 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-20 18:26:31 +00:00
Michael Bayne 5ae87258fa If we lose our connection, let anyone who had a pending subscription request
outstanding know that their subscription request failed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4873 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-13 02:56:35 +00:00
Michael Bayne 8250d2f1f5 Let's be precise.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4872 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-12 21:32:19 +00:00
Michael Bayne f471da8a49 Let our peers send up to 100 messages a second after which point we will
politely complain that they're talking a lot but not disconnect them.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4871 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-12 21:29:57 +00:00
Michael Bayne ae6e8f1bdb We need to scan up the hierarchy so that if we're overriding a renamed method
(e.g toString(StringBuffer)) we use the properly renamed version
(e.g. toStringBuffer(StringBuffer)) when generating our ActionScript.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4870 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-12 19:37:08 +00:00
Dave Hoover baa664bd11 channel is a SocketChannel which is a subclass of SelectableChannel, so this instanceof
can't ever be false. (And just above, we've already confirmed that channel != null, so this
check wasn't falling back to protecting us from that)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4867 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-08 18:49:28 +00:00
Michael Bayne e6af23ad38 Let's report that in a friendlier way.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4855 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-10-26 17:41:24 +00:00
Michael Bayne 13fe8fc930 On second thought, reference equality is really the only appropriate thing for
DObject. There will never be multiple instances with the same oid that
represent "equal" objects and it's possible that in certain (controlled and
limited) cirumstances, objects with different object managers might have the
same oid even though they are different objects.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4853 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-10-20 18:50:27 +00:00
Michael Bayne 4280391d03 Implemented hashCode() and equals() as it could come in handy if we want to
stick objects in a collection.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4852 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-10-20 18:48:06 +00:00
Michael Bayne 4f83cf0119 Added a backwards compatible registerDispatcher() call to repair GG games.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4851 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-10-19 23:16:52 +00:00
Michael Bayne 27b95dd19a Nix another redundant cast.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4850 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-10-19 18:28:56 +00:00
Michael Bayne 66660bc490 Don't need to cast the result of an array clone.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4849 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-10-19 18:22:37 +00:00
Michael Bayne a2af35fcfd Log a warning rather than NPEing.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4847 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-10-18 18:49:52 +00:00
Charlie Groves 45034b895e Reference the client immediately rather than on the dobjmgr thread so it doesn't get released before we tell the listener it's resolved.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4842 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-10-10 02:01:48 +00:00
Michael Bayne 466ae35688 Proper Long handling and checking for @ActionScript(omit=true) up the
superclass chain. Other such annotation "inheritance" is needed for methods,
but that I'll do later.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4840 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-10-09 01:52:22 +00:00
Michael Bayne 8f81893a0c getFailureMessage() should be protected as it's not part of the persisting
unit's public API.

handleResult() and handleFailure() could also be protected but we're adapting
Invoker.Unit to something that appears to provide a different (persistence
friendly) public API even though the invoker doesn't actually call it, but
rather the normal Unit public methods call the new public methods. But we still
want to maintain the "feel" of these being the PersistingUnit's "main thing.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4839 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-10-08 23:55:51 +00:00
Michael Bayne 13c2173829 Don't need two of these fellers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4837 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-10-02 00:09:13 +00:00
Michael Bayne 4cc4c3c9f1 Use the bare BlockingCommunicator in the PeerNode instead of the
ClientCommunicator which does stuff like try to save its preferred connection
port using the Java preference system (which is no longer available to server
processes due to the removal of their home directories).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4836 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-10-01 23:47:02 +00:00