Commit Graph

1265 Commits

Author SHA1 Message Date
Michael Bayne dcc04247ab Provide AuthException to simplify auth failure handling for Authenticator
implementations.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5832 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-06-22 18:52:17 +00:00
Dave Hoover 7db51dafdb Mark overrides
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5831 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-06-22 17:36:32 +00:00
Jamie Doornbos a08e21e840 Removed unused code
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5830 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-06-20 21:40:12 +00:00
Michael Bayne 6e9077780c Added/updated source headers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5829 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-06-20 21:09:34 +00:00
Michael Bayne a1aa2d77ae Revamping/cleanup of how we handle authentication usernames as well as chained
authenticators and chained session factories. We can share a lot more code this
way and the implicit requirement that the default authenticator/factory had to
be configured before anyone else configured a chanied author/factory is gone.

The other big change is that Credentials doesn't require a username
(UsernamePasswordCreds inherits that username so most derived classes don't
notice any difference). Instead we require that a canonical authentication
username be determined and configured in AuthingConnection during the
authentication process. This canonical username is then used to resolve the
client session and map everything in the client manager.

This is pretty much exactly what was going on before except that we were doing
it all in an ad hoc way by jamming a new name into Credentials during the
authentication process and also doing jiggery pokery in
PresentsSession.assignStartingUsername. That all goes away and/or becomes
cleaner and more explicit.

This is going to impact some Yohoho jiggery pokery, which I will shortly commit
a patch for, but we're going to need to test it. Omelets, eggs, etc.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5828 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-06-20 00:56:01 +00:00
Andrzej Kapolka a707fa6234 Let's get stack traces for these.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5816 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-06-04 22:50:11 +00:00
Andrzej Kapolka 37801c3cf0 Avoid creating sublist when unnecessary.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5815 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-06-04 21:52:24 +00:00
Jamie Doornbos f3c3269342 Optionally generate action script listener adapters for designated services.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5814 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-06-04 05:37:45 +00:00
Michael Bayne 1e6c35f9c1 If we have no socket or a closed socket when trying to write overflow queue
messages, treat that like a network failure which will clear out that queue and
shutdown the connection. Overflow queues are only meant to handle sockets that
are backed up, not closed or non-existent.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5813 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-06-02 22:59:23 +00:00
Michael Bayne ae6535583a Use getKey() for updatePartial().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5809 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-29 19:14:34 +00:00
Michael Bayne f565fa0e42 Update to match Depot API changes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5808 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-29 00:19:32 +00:00
Michael Bayne ff4e05749f Make Lifecycle a singleton without having to introduce a Guice dependency in
samskivert.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5806 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-27 20:39:32 +00:00
Michael Bayne 3f19fcacf2 Moved Lifecycle to samskivert (my initial desire to do this came from a
non-work project). I promise to stop fooling around now.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5805 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-27 19:16:49 +00:00
Michael Bayne e87c86dc2c Let's make the Lifecycle a bit more abstract and decouple it from all the
server business. I'd move the whole kit and kaboodle to samskivert but that
would mean moving the DependencyGraph as well...


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5804 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-27 19:09:47 +00:00
Michael Bayne d855eb184a Oops, nix duplicated method.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5803 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-27 18:38:44 +00:00
Michael Bayne 0a20b36c8e Out with ShutdownManager, in with LifecycleManager which handles both
initialization and shutdown. This will obviate the need for a lot of manual
wiring up. ShutdownManager still works and passes through to LifecycleManager,
but switching to the new deal is encouraged.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5802 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-27 18:32:45 +00:00
Andrzej Kapolka eb77929940 As on the server, provide a means to detect whether we can
transmit datagrams.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5801 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-26 20:10:46 +00:00
Andrzej Kapolka 510e6982bf Note actual transport on the client, too.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5800 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-26 19:57:00 +00:00
Dave Hoover e13aca6570 Prune trailing whitespace & foreachize loops.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5799 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-23 01:56:35 +00:00
Dave Hoover b222eed2fd A healthy dash of google-collections
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5798 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-23 01:04:08 +00:00
Andrzej Kapolka 1bdb2cae16 Added methods and @Intern annotation to stream pooled strings (a
la String.intern) as we do class names, by sending the value the 
first time and a short code thereafter (with special handling for 
datagrams, where me must continue sending the mapping until we 
know they've been received).  This is mostly useful for the 
lengthy config names and parameter names of Project X, but it 
could conceivably also be used for things like NamedEvents, which 
stream the same object field names many times in the course of a 
stream.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5797 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-22 22:43:19 +00:00
Andrzej Kapolka e5172053c8 The utility of printing out the message as a byte array seems
limited.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5796 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-21 23:47:47 +00:00
Andrzej Kapolka 13251b0d79 Accessor for datagram transmission flag.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5795 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-21 23:36:18 +00:00
Andrzej Kapolka 31e9807c05 Note the actual transport with which events are transmitted.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5794 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-21 18:41:42 +00:00
Andrzej Kapolka d45b0bdb00 Added an option to bind the datagram socket to a specific
hostname, in hopes of fixing the issue with receiving datagrams 
from the staging server.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5793 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-21 18:04:09 +00:00
Andrzej Kapolka 6dd16483be Added an extra step to the datagram negotation process. Before
the server starts sending datagrams willy-nilly, it must wait for 
a (reliable) go-ahead from the client.  Otherwise, it's possible 
that the server may be successfully receiving datagrams but not 
sending them.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5792 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-21 04:16:41 +00:00
Dave Hoover 0f70a5c8d2 Much like NamedSetAdapter, we had this kicking around in yohoho, also.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5791 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-19 19:29:29 +00:00
Michael Bayne a6c43b3436 Enough of this verbosity.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5789 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-19 05:16:34 +00:00
Charlie Groves c6dd5ba201 Add imports for generic types in method arguments
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5785 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-13 08:40:28 +00:00
Dave Hoover e740f387cc Some widening/foreaching I had lying around.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5780 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-12 23:25:07 +00:00
Dave Hoover cd07e3a9ee This puppy's been in yohoho for a while, but seems like it would be generally useful in narya land.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5776 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-12 21:21:02 +00:00
Dave Hoover 239fec3236 SimpleEntry's a big boy now.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5773 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-11 20:23:19 +00:00
Dave Hoover 7d3f8a2c06 Gonna need that now that I'm actually throwing some of these across the net.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5772 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-09 00:09:00 +00:00
Dave Hoover 15ca8973bc KeyWrapper is pretty handy when you really just want a DSet stuffed
full of some pre-existing Streamable/Comparable type (e.g. String),
so let's buff it up to let us do that cleanly, and publicize it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5771 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-08 18:57:58 +00:00
Andrzej Kapolka 8e2a05864a Bring this maximum back down. I had thought that oversized
datagrams were fragmented and reassembled at the network layer, 
but apparently that's not something one can count on.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5770 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-07 02:22:25 +00:00
Michael Bayne 6c962bf3d4 Reflection is much faster these days, but we do a lot of event processing, so
let's not surreptitiously slow things down.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5768 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-04 17:50:44 +00:00
Michael Bayne 6eb8953c4b Allow flush time to be customized.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5765 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-01 20:36:11 +00:00
Michael Bayne a66c27a169 Track various peer stats.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5760 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-29 22:10:31 +00:00
Michael Bayne 2a4ac9b96a These don't need to be final.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5759 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-29 21:59:40 +00:00
Michael Bayne 17688e9ff5 Updated comment to reflect reality.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5758 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-29 21:59:28 +00:00
Michael Bayne e77949a143 Cleaned up stats tracking in PresentsDObjectMgr and ReportingInvoker. At some
point Pulse can probably totally replace the ReportManager at which time a
bunch of cruft can go away.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5757 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-29 19:05:04 +00:00
Andrzej Kapolka abc0bb9eb3 UDP fixes: we can only stop transmitting the mappings sent in the
acknowledged datagram (not the ones before it, which may or may 
not have been received).  Also, make sure we don't throw an 
ArrayIndexOutOfBounds exception when retrieving a bogus class 
mapping (so that we show the correct error logging information).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5751 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-27 23:28:16 +00:00
Michael Bayne 73dd5beda4 Same here even though we were doing long arithmetic which would most likely
avoid blowage.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5750 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-27 22:18:50 +00:00
Michael Bayne 7e777e9c72 Divide the millis by 1000 to get seconds instead of multiplying the numerator
and blowing an int.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5749 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-27 22:17:36 +00:00
Michael Bayne da4159c665 Switch to the ServerCommunicator. I'm sure it'll work just fine!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5748 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-27 19:51:06 +00:00
Michael Bayne a2d6549121 Comment fix.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5747 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-27 19:48:00 +00:00
Charlie Groves 749ab8e1bb google-collect upgrade
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5745 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-24 23:01:40 +00:00
Michael Bayne 510ddbb717 Instated some debug logging. Some day maybe I'll make it easy to enable debug
logging in a fine-grained way in a running server.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5744 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-24 19:03:17 +00:00
Michael Bayne 6fe7159b4c Provide an Iterable for our client objects.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5743 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-23 17:01:38 +00:00
Mike Thomas 48b3a27af8 Prevent a divide by zero error attempting to generate a log.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5736 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-20 17:12:27 +00:00