Michael Bayne
86dd4d75c7
Cleaned up the fine-grained permissions system a bit so that Yohoho can make
...
use of it in good conscience.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5117 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-22 12:03:30 +00:00
Michael Bayne
9e8f5f0b08
Nixed stray blank line.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5111 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-21 11:26:18 +00:00
Michael Bayne
9b92f14412
Improve error message.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5107 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-18 11:30:16 +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
Charlie Groves
8581947de5
Add a cousin of setUsername, updateUsername, that does the same thing but in the active client object. Like setUsername, its invocation should always be accompanied by the sacrifice of at least three chickens and if you really want it to succeed, one small goat.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5081 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-12 21:23:16 +00:00
Jamie Doornbos
c112a5c982
Regenerated narya services with new GenServiceTask, actionscript and java
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5051 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-08 19:17:34 +00:00
Par Winzell
5924aac198
Running genreceiver and genservice with Jamie's spiffed-up generators.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5037 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-06 16:59:04 +00:00
Charlie Groves
1c4cfe501f
Delay notifying the client about the under ass rug yanking until we're in finishResolved in case UserChangeListener.changeReported performs a long operation off the omgr thread and allows the client to respond before _clobj has actually been switched
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4997 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-11 21:04:48 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
120d641dea
Comment rearranging.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4834 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-10-01 21:26:27 +00:00
Mike Thomas
b3678b086d
The client manager was busy registering client objects on the ConnectionManager thread rather than the dobj thread. Give it a nudge in the right direction.
...
Also, added logging to the PresentsDObjectMgr to check for this type of thing and dump stack if anyone is trying to register objects anywhere but the DObj thread (assuming we're sufficiently far started up that there is one).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4832 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-09-28 18:35:20 +00:00
Michael Bayne
93c89fe0a7
Be sure that we always dispatch subscription responses (success or failure) on
...
the dobjmgr thread to relieve the caller of the burden of knowing what thread
they are on.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4826 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-09-14 18:17:50 +00:00
Mike Thomas
e4cb816fba
This is being called on other-than-the-DObject thread, and we really don't want to be posting messages directly outside that thread.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4825 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-09-14 17:58:54 +00:00
Michael Bayne
810969f6f9
Pass a message along with a FailureResponse.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4819 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-08-22 01:15:39 +00:00
Michael Bayne
a6be47fa83
Adjust the shutdown process to ensure that we can get messages generated during
...
the shutdown sequence out to our clients where desired.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4807 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-08-06 18:38:27 +00:00
Michael Bayne
0c5a4f6683
Useful error reporting.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4806 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-08-04 02:16:24 +00:00
Michael Bayne
038e5c5b85
Differentiating these invokers turns out not to be especially useful. Let's
...
avoid log spam and call them all the same thing.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4773 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-18 18:34:53 +00:00
Michael Bayne
b514ddbbf2
Always dispatch clientResolved() on the dobjmgr thread, even if the client is
...
already resolved and we're being called from a non-dobjmgr thread.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4744 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-28 21:42:41 +00:00
Dave Hoover
3b701ef57d
Tabs -> spaces
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4742 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-26 00:07:36 +00:00
Michael Bayne
20e70a9735
Log the registration and clearing of proxied object as we're seeing some
...
strangeness in production on Bang.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4738 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-15 16:44:09 +00:00
Michael Bayne
d1313d2296
Let the server delay shutting certain things down until it knows that the
...
invoker and dobj threads are well and truly finished.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4737 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-15 00:03:31 +00:00
Michael Bayne
68a60d83f4
The Flash client seems to be sending a message just as it's (or possibly even
...
after it's) logging off which comes in after we've cleared out the client
object and causes annoyance. Now we drop the message and we'll log a notice for
the time being.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4735 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-14 18:15:02 +00:00
Michael Bayne
2fa6146d93
Have CompoundEvent handle propagating setTargetOid() to its internal events and
...
clean things up for the callers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4731 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-13 23:15:20 +00:00
Michael Bayne
097a53e534
Don't try to register HUP on Windows because it fails.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4728 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-13 18:31:15 +00:00
Michael Bayne
6db6eef7e1
Close our bound socket when the connection manager is shutdown. New-styled
...
logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4727 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-13 17:48:42 +00:00
Michael Bayne
8206753188
A we bit of (not so) new logging world order conversion.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4718 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-23 18:40:15 +00:00
Michael Bayne
9bcca099ac
Implemented a Ray-proposed solution where we keep track of events that were
...
(pre-applied and) posted before we received our object but processed (and hence
dispatched to us) after we received our object.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4715 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-18 03:37:14 +00:00
Michael Bayne
d9f76c98fd
Some of the widening.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4711 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-15 00:26:27 +00:00
Michael Bayne
91f8ac6fa6
Turns out Sun has secret support for handling signals, so we'll use that
...
instead of our native library. I've left the native library support in in case
the Sun stuff is not available, but that's so extremely unlikely in a server
environment (IBM recreates Sun's signal handling in their VM because it's so
dang useful) that I should probably just nix it altogether and simplify things.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4710 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-14 21:36:58 +00:00
Michael Bayne
4d455eb6e6
_usermap is referenced by both the conmgr and dobjmgr threads, so access to it
...
must be synchronized.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4681 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-04 02:25:03 +00:00
Michael Bayne
69485a88ee
Widened, fixed documentation and nixed unneeded runnable posting for
...
clientSessionDidEnd() which is called on the dobjmgr thread directly.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4680 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-04 02:11:33 +00:00
Michael Bayne
d61083db7e
Fixed another beans frank problem.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4659 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-04-10 01:01:07 +00:00