Commit Graph

488 Commits

Author SHA1 Message Date
Jamie Doornbos d6fbde6e0d Forgot header and props for added files
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5371 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-12 23:47:24 +00:00
Jamie Doornbos 4a03b20b1f Extension of the samskivert throttle class to allow updating the operation limit, plus a small manual test class
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5370 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-12 23:26:58 +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
Michael Bayne 7e7e7893d6 No need for this to be specific to persistence.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5348 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-03 18:40:29 +00:00
Mike Thomas addb1971dd Break out the binding of the invokers so we can bind them elsewhere in a subclass.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5346 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-30 00:15:04 +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
Michael Bayne 716f7ab956 Make it possible to find out if we're shutting down or not.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5321 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-13 23:02:21 +00:00
Michael Bayne fcedbe90d7 Thread.dumpStack() circumvents whatever logging is configured and writes
directly to stderr. Logging an exception with the associated warning does the
right thing and logs the stack trace via the logging system.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5318 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-13 17:35:37 +00:00
Michael Bayne d293fe5140 Fixed comment.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5316 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-12 18:19:07 +00:00
Michael Bayne 6866f6b609 Allow things that requireEventThread() to proceed if they are called during the
server initialization phase. Only after the event thread is established is it
unsafe to be wild and wooly.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5315 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-12 18:18:08 +00:00
Michael Bayne e137667f07 Updated some comments, added some sanity checks to registerDispatcher() and
clearDispatcher() as I saw some craziness in the wild.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5314 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-12 16:57:46 +00:00
Michael Bayne 01a39e500a No longer need this tracking.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5298 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-07 21:00:26 +00:00
Michael Bayne 294f0fd1f1 Keep a history of what we do with subscriptions so that we can get some insight
into the thousands of "Missing subscription in unmap" errors that we have been
getting as a matter of course.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5293 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-05 13:12:18 +00:00
Michael Bayne 5c664a2667 Report a bit more information in these strange edge cases.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5292 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-05 12:49:40 +00:00
Michael Bayne bda7d04f4c Peskily, Eclipse and javac disagreed about whether this unchecked suppression
was necessary (javac claimed it was, Eclipse claimed it wasnt'). Fortunately,
we can do everything with Class<FooClient> methods that avoid the need for
supression entirely.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5275 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-30 13:05:16 +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 dde4e4bfdf Presents supports streaming lists natively now, so just use an array list.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5254 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-22 15:06:36 +00:00
Michael Bayne 0a893e1de1 ZOMG, Narya now perfectly passes our coding standards as enforced by
CheckStyle. The checks are slightly looser than I'd like but way better than
nothing and we get a bunch of other useful warnings like shadowed names and
other handy bits.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5253 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-22 14:36:54 +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 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
Michael Bayne 09f8a25876 More style-related cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5247 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-22 12:51:17 +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
Dave Hoover 1578adceb1 Unless I'm missing something, those bits of generated code don't need those extra imports.
I've rerun the code generators without those in vilya & yohoho and everything seems happy,
so let's give it a whirl.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5225 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-10 18:39:29 +00:00
Michael Bayne 5b5d39601b Added requireEventThread and refuseEventThread.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5213 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-30 11:36: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
Michael Bayne d9cdb5ae3b Move this up with its public friends.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5200 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-29 11:22:58 +00:00
Michael Bayne 740cd4c76a Use Maps.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5199 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-29 11:10:05 +00:00
Michael Bayne d689839442 Log a newly created exception to obtain our stack trace instead of using
Thread.dumpStack() which goes directly to stderr rather than through the
logging system.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5198 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-29 11:07:36 +00:00
Mike Thomas 2390a4d909 Put this class somewhere more generally accessible since it's not actually doing anything shutdownmanager specific and could be useful elsewhere.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5186 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-14 00:21:51 +00:00
Mike Thomas 9d89338296 Add the ability to specify constraints for the order in which shutdowners should run.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5185 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-13 23:56:13 +00:00
Michael Bayne 61fda944f8 Scratch that, do things more sneakily to avoid this circular dependence which
seems to cause some freakoutery.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5173 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-09 00:57:29 +00:00
Michael Bayne 2ca70b3510 Use the RootDObjectManager interface instead of the concrete class as
PresentsDObjectMgr references InvocationManager.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5172 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-09 00:54:20 +00:00
Michael Bayne 0128f6525a Modify PresentsClient and ClientResolver creation so that we can inject
dependencies into both. Moved the legacy statics into CrowdServer so that at
least Presents can be pure (we should probably eventually move them into
BangServer and PiracyServer and fix everything else). Added some useful manager
references to PlaceManager delegate (_omgr, _invmgr) that handle the majority
of their service needs.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5170 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 20:23:49 +00:00
Michael Bayne eeb2584c0d Let's just institutionalize the use of a separate thread for authentication
because we want to follow that pattern in all of our games.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5169 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 17:39:17 +00:00
Michael Bayne 4eb86aec71 Supply our default authenticator by making the binding optional rather than by
binding the default in PresentsServer.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5165 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 14:34:16 +00:00
Michael Bayne 8c37ca7bfa Three things:
- Inject the auth Invoker.
- Inject the Authenticator and formalize the chaining authenticator pattern.
- Simplify PeerNode creation and make the PeerAuthenticator a chainer.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5162 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 13:04:27 +00:00
Michael Bayne 3e73a1666e Have the RebootManager do its shutdown via the ShutdownManager. Nix the
PresentsServer legacy shutdown stuff. We'll wire that up in the legacy servers
themselves.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5157 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-07 19:21:33 +00:00
Michael Bayne a6842ae5e1 Properly mark some singletons as such.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5156 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-07 19:14:10 +00:00
Michael Bayne fce06c52c5 Actually instead of doing the necessary jiggery pokery to make PresentsServer
subclasses provide PresentsServer "services" we'll just have no PresentsServer
services. All services will be provided by components and the server will
disappear in a puff of inversion of control.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5155 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-07 18:57:04 +00:00
Michael Bayne c568204bbb Merge the ServerInvoker stuff into PresentsInvoker because the PresentsInvoker
is only ever used by the PresentsServer. Also determined that we need to
explicitly let Guice know that CrowdServer provides the PresentsServer
"interface" and so on down the line.

I also think that each concrete class needs to be marked as @Singleton though I
need to confirm that. Based on how annotations work, that's how it would be
easiest to implement, so we'll assume they're not doing extra work on the
backend to make our life easier.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5154 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-07 18:39:19 +00:00
Michael Bayne 3aefc93838 Holy fruity beverage Batman! I'm taking the plunge and switching to Guice for
dependency resolution and management. Things are currently in a state of
transition, but the important patterns have been established and I'll aim to
sweep through all of Narya, Nenya and Vilya in the near future and do
everything properly.

Going through the other million-odd lines of code we have scattered across our
various projects that use these libraries is not something I plan to do, so
we'll be maintaining backward compatibility with the old static member method,
though I hope to strive toward eradication of that usage entirely in MSOY while
we still have a fighting chance.

Given that some of our projects will continue to use the static member method
in perpetuity, I'm not going to @Deprecate those fields because that would fill
their logs with so much spam that they'd have to turn off deprecation warnings
which would make life worse for them. So instead we'll settle for the big scary
comment warning people away from the old bits.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5153 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-07 17:44:48 +00:00
Michael Bayne 02b2c67991 Name the connection manager thread.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5146 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-30 12:20:58 +00:00
Mike Thomas 83693608d8 Disarm the stack overflow boobytrap.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5138 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-28 02:15:36 +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
Michael Bayne 591dc1541a Extract our permission policy into a separate class so that a system can more
easily make use of different permission policies in different circumstances
(one can imagine a hypothetical partner who has different access control
requirements, perhaps).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5118 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-22 13:12:40 +00:00
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