Commit Graph

4282 Commits

Author SHA1 Message Date
Michael Bayne f8029e2fff Actually it is handy to have the node record.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5166 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 15:20:26 +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 a8e5c3e324 Don't need the record in createPeerNode().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5164 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 14:08:58 +00:00
Michael Bayne a7c7d853fe Handle the BodyService with a BodyManager instead of a concrete BodyProvider.
More dependency injection (or removal in the case of SpeakUtil).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5163 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 13:06:03 +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 da11bd0ea0 Regenerated services.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5161 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 12:58:27 +00:00
Michael Bayne eee2c74943 More singleton marking.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5160 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 10:29:18 +00:00
Michael Bayne a531fd2196 Inject the ChatProvider as well.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5159 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 10:10:41 +00:00
Michael Bayne 3404d14e7b Have the PlaceRegistry handle shutting down all places when the server shuts
down. Inject same.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5158 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 10:07:41 +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
Jamie Doornbos 443ad8e139 Keep track of the client object id in the agent object (this will allow WhirledGameManager.validateUser to check out a dispatch from a bureau client)
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5152 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-05 00:16:46 +00:00
Jamie Doornbos 69451c5682 Implemented bureau authentication
* Token member for bureaus
* Exception type for failed authentication
* Authenticate function
* Bureau id to credentials
* Fixed bad constructor and toString


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5149 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-02 04:38:01 +00:00
Jamie Doornbos 214d464c7f Fixed the token and added a TODO since ProcessBuilder on unix cannot handle empty strings
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5147 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-30 18:06:07 +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
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
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
Jamie Doornbos c8763c245a Added serverClass field to bureau agent objects. Also renamed redundant "agentCode" to just "code"
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5136 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-27 22:33:15 +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
Dave Hoover 9abef6df53 Lots of times we don't care WHY someone lacks access, just that they do; so
add convenience wrappers giving us a boolean back instead of forcing us to see
if checkAccess(blah) == null.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5132 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-23 23:26:12 +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
Jamie Doornbos 35955cc701 Fixed another couple of bugs in service generation discovered when generating services for vilya
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5122 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-23 00:40:56 +00:00
Michael Bayne da9d8701c2 Sometimes my mind drifts away and forgets that I live in a world where I have
to write everything in two languages, and now have to take special care that
things written in one of those languages works properly in a wholly separate
and somewhat limited deployment environment. Ah such sweet forgetting.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5119 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-22 14:12:10 +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
Andrzej Kapolka efb1a7c89a Use the overloaded default methods for default transport.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5115 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-22 00:36:20 +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 9b9d62558d More unit cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5109 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-18 11:39:20 +00:00
Michael Bayne ec3fb4023a Allow the BodyObject to play along when we enter and leave a place.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5108 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-18 11:30:45 +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 117fb1a67b The problem was elsewhere, so revert the last couple of changes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5106 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-18 06:59:16 +00:00
Andrzej Kapolka 7a1ec4a3a1 Let's see if it helps to have the enum outside the class.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5105 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-17 01:52:32 +00:00
Andrzej Kapolka 814ad6b1d7 Third time's a charm: apparently values() is problematic, so
let's try using a normal HashMap.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5104 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-16 22:16:50 +00:00
Andrzej Kapolka 817c7014b4 Apparently EnumMap doesn't work with Retroweaver, so let's try
using an array instead.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5103 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-16 21:25:22 +00:00
Mike Thomas 943e18ac4a genreceiver also needs to deal with arrays as parameters for import purposes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5101 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-16 17:05:02 +00:00
Andrzej Kapolka db874782f9 Allow inheriting the transport hint from the containing class.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5100 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-16 02:41:40 +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
Jamie Doornbos 2a49924f91 Bureaucracy: consistently log info message for all agent and bureau entry points
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5082 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-12 23:23:31 +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 7bbd9baf28 Fixed bug where bureau registry would not destroy pending agents, exposed by curretnly broken thane client
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5075 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-10 00:58:00 +00:00
Mike Thomas c42281ce7a Patch from Jamie to ensure GenService still finds all the array parameters for importing.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5069 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-09 23:06:43 +00:00
Ray Greenwell 2cb6086434 Look ma, it's the last word in a small Ray-Charlie quibble. :)
I just feel like: imagine if there were no Map.containsKey().
You would instead have to get() the value and see if it's not null.
If you did that, you certainly wouldn't throw away the value if you
were going to get it again right below, would you? So why would
you do it simply because of the addition of a convenient method
called containsKey()?


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5067 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-09 21:46:43 +00:00
Michael Bayne 5d544fdd55 Use Maps and Lists. Unglommed imports. Having them separated into presents and
crowd was intentional (with presents on top because it is more "generic"). We
must resist Eclipse's desire to squish our imports together into one giant,
hard to (visually) parse blob.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5060 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-09 11:47:38 +00:00
Jamie Doornbos bc35598a2e first pass at converting the bureau client to actionscript. now to find a way to run it...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5054 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-08 23:01:46 +00:00