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
sense to annotate an abstract class as a @Singleton. Guice 2.0 disallows it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5824 542714f4-19e9-0310-aa3c-eee0fc999fb1
let's make these things that just add & remove from our collections of
things return the values from their collections.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5823 542714f4-19e9-0310-aa3c-eee0fc999fb1
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
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
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
realized my last change didn't actually work. We'll FIND stop words in
text now so our regexp doesn't have to match the whole string.
Took a peek at the as docs for RegExp.test() and it looks like the flash
side of things should be working properly after Ray duplicated this over
there, but I wouldn't mind if someone w/ that built could just double
check that stopwords are still working properly there.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5769 542714f4-19e9-0310-aa3c-eee0fc999fb1
text that contains the stop word since the filter only cares if it
exists at all in the text.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5766 542714f4-19e9-0310-aa3c-eee0fc999fb1
1. User logs onto node 1, node 2 establishes a viztoauth mapping.
2. User logs onto node 3 without logging out of 1, overwriting their
session.
3. Node 2 sees "member logged onto 3" and updates the viztoauth mapping.
4. Node 2 sees "member logged off of 2" and clears the viztoauth mapping.
5. Viola, there is no active viztoauth mapping, but user is online.
Distributed programming is hard. Fortunately on Whirled we can convert any
vizname to an authname without needing a mapping, so we'll just foist that
requirement onto every user of the crowd peer services (this will break Bang).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5755 542714f4-19e9-0310-aa3c-eee0fc999fb1
registerDispatcher() which requires a corresponding call to clearDispatcher().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5739 542714f4-19e9-0310-aa3c-eee0fc999fb1
to clear them when they shutdown. Solution: add a mechanism for registering
dispatchers such that they are auto-cleared when the manager shuts down.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5737 542714f4-19e9-0310-aa3c-eee0fc999fb1
YAGNI code, no ability to break-out the whitelist.
No other game of ours uses other valid modes, does it?
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5701 542714f4-19e9-0310-aa3c-eee0fc999fb1
for every client on another node when it connects or disconnects from that node.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5696 542714f4-19e9-0310-aa3c-eee0fc999fb1
If node A started up and connected to node B, which already had players logged on,
then nobody on A could send chat to anyone on B.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5695 542714f4-19e9-0310-aa3c-eee0fc999fb1
(for system messages), or a custom mode (for user broadcasts).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5693 542714f4-19e9-0310-aa3c-eee0fc999fb1
that actually needs to look clients up by visible name (chat forwarding), we'll
just leave things as is (as in mapped by auth username) and take care of our
own shit in ClientPeerManager.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5683 542714f4-19e9-0310-aa3c-eee0fc999fb1
bring the "ChatSnooper" interface over, because it's not yet needed here.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5623 542714f4-19e9-0310-aa3c-eee0fc999fb1
justice. Cleaned up some other stuff in the process.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5620 542714f4-19e9-0310-aa3c-eee0fc999fb1
can both participate in the combined event that adds an occupant's info and can
coordinate whether their info is added before or after.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5586 542714f4-19e9-0310-aa3c-eee0fc999fb1
bodyWillEnter() where the PlaceManager can do whatever they want when the body
enters, before or after the occupant info creation process.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5579 542714f4-19e9-0310-aa3c-eee0fc999fb1