Commit Graph

52 Commits

Author SHA1 Message Date
Dave Hoover 8856120403 Import cleanups
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5399 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-26 17:29:59 +00:00
Michael Bayne 421272f4f2 Basic framework for distributed chat channel system that does not use chat
channel distributed objects but rather resolves the location of all channel
participants on every message delivery so that we don't have to attempt the
very fragile process of having every server that hosts a channel participant
maintain a subscription to the chat channel object on another peer.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5305 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-10 02:40:19 +00:00
Michael Bayne d01715a369 More style fixes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5242 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-19 09:50:20 +00:00
Michael Bayne e41dda3018 Style fixes and import pruning. Beware, CheckStyle is (finally) coming to town.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5240 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-18 18:32:59 +00:00
Michael Bayne 6a9723fb11 Extract BodyObject location into a separate service that can be customized by
extending systems and depended upon by services that need to lookup bodies.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5212 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-29 14:11:42 +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 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 d92f81af78 Crowd peer services now forward broadcasts as well as tells. We must get the
word to the people, all the people.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4816 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-08-16 22:38:40 +00:00
Michael Bayne 3f7705dfc2 Split SpeakProvider into SpeakHandler and SpeakUtil. SpeakProvider is now a
proper interface like all the other new invocation service backends.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4795 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-31 21:05:23 +00:00
Michael Bayne 09f0bee0f3 Yet more header patrol.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4602 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-24 00:39:27 +00:00
Michael Bayne ebc99935d5 If we're going to do this, I guess we're going to do it properly. Nixed the
notion of a global group (though we implicitly define one in InvocationCodes)
added a mechanism for directors (which generally handle the client side of
invocation services) to register their interest in bootstrap service groups so
that the whole goddamned complex business can happen magically behind the
scenes.

If you instantiate a director, it will automatically register interest in the
service group it needs and everything will work. If you don't use the director
code, you don't get the services and you can safely exclude all of that code
from your client even though the services are still in use on the server (and
presumably used by some other types of clients).

This is going to break all the builds, which I'll soon fix. Then I'll go write
all this in ActionScript. Yay!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4552 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-11 01:17:30 +00:00
Michael Bayne 8df1c91699 Changed the weird-ass argument ordering for the UserMessage constructors. I'd
like to change the ordering for ChatMessage and its other derivations (the
bundle should precede the message) but that's more dangerous as the constructor
signature would not change.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4253 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-06 00:35:11 +00:00
Michael Bayne a3c86ec1d4 Make it easy to create a UserMessage for tells.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4252 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-06 00:27:44 +00:00
Michael Bayne 05cef39f63 Revamped chat handling a bit:
- the ChatProvider is now a proper singleton rather than providing static
methods for everything (it is accessed through CrowdServer.chatprov)
- it can now be extended to create a custom UserMessage for tells (which can
contain avatar information on systems that want to show an avatar on the
receipt of a tell)
- the ChatProvider API was tidied up a bit as some methods had been addded over
time that were not sufficiently general purpose so their callers will be
changed to use the general purpose APIs.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4251 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-06 00:22:12 +00:00
Michael Bayne 6be44f5a65 Finished up the basic peer system and wired up the tell forwarding. In theory
it all works, now to test it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4249 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-05 22:48:32 +00:00
Michael Bayne 176329e1ed Various updates to allow a system where a user's visible name is not the same
as their authentication name (which we leave in BodyObject.username). This
turns out to be simpler than the system we adopted for Yohoho wherein we
replace the player's user object after they select a character, but converting
to this sort of system is way more work than would be worth it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3758 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-11-10 23:18:58 +00:00
Michael Bayne 596d2a4708 blank() -> isBlank().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3749 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-11-09 04:00:16 +00:00
Michael Bayne c2e2661e66 Further refinement of the permissions system. Eliminated the
CommunicationAuthorizer and rolled that into the BodyObject-based
permissions system. A victory for consolidation and elegance.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3380 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-03 04:47:57 +00:00
Michael Bayne 01592d2593 Reorganized basic permissions handling to be more cleanly extensible.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3375 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-02 03:22:27 +00:00
Michael Bayne afabea71ad Big fat Bernie javadoc cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3310 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-24 23:08:21 +00:00
Ray Greenwell feb7355804 Go back to defaultly broadcasting to game objects, in case someone ever
creates a traditional lobby->room server with narya, and instead allow
a broadcast object to be registered with the ChatProvider to which all
broadcasts will be sent.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3261 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-03 23:47:19 +00:00
Michael Bayne 1f8c4578b7 LGPLed the library. Hello world.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3098 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-08-27 02:12:55 +00:00
Ray Greenwell 03ca013e8d Allow system broadcasts to be INFO or ATTENTION level.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3032 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-06-17 18:28:58 +00:00
Ray Greenwell 407d4ac3b1 Added a static broadcast().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3028 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-06-15 22:03:51 +00:00
Michael Bayne 32dee3cbaf 405 modified source files and 17,367 lines of diffs later we now enforce
more discipline when handling names in our code base. Any user entered
name should find its way into a Name object as soon as it comes out of a
text field or whatnot, and stay that way until it makes its way into a
text field or into a database record (for which String objects are vastly
simpler because of JORA magic).

Dear God, let me never again make a change this large for the rest of my
mortal life.

Unfortunately, this means we have to keep an eye out for funny business
pretty much everywhere. However, since we will absolutely want to test
market stalls and so forth on Azure, we'll have an opportunity to iron out
any funny business that might fall under the radar during our internal
testing.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2980 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-03-06 11:29:19 +00:00
Michael Bayne ef748636e2 Various Eclipse suggested bits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2969 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-25 14:41:47 +00:00
Michael Bayne 6add22f5d7 Refactored /tell idle auto-response; added support for configuring an
away/busy auto-response message.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2797 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-09-18 17:53:48 +00:00
Eric Lundberg 957faac149 Slap the CommunicationAuthorizer code in such that we block all user
communication if the user is not authorized.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2715 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-18 01:58:38 +00:00
Michael Bayne 993c79e9d2 Added interface method documentation, rejiggered formatting.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2689 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-01 21:53:02 +00:00
Eric Lundberg 00286b608e Added interface to all other packages to plug into the chat provider and
provide an auto response to a tell.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2688 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-01 21:50:18 +00:00
Ray Greenwell ec6cf00d6f Ask the place object if it needs to be broadcasted on before doing so.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2683 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-25 17:17:41 +00:00
Michael Bayne 61168c737c Don't double note UserMessage instead specifically note tells() which is
the only circumstance where we're not getting sent our own message back to
us.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2654 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-14 00:55:19 +00:00
Ray Greenwell 40afe3cb94 Chat revamp, phase 1.
- Repackaged crowd/chat
- All messages are delivered to the client via ChatMessage messages,
  including tells.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2631 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-03 21:41:33 +00:00
Michael Bayne 383d500f4b Created LACK_ACCESS error code; use it for chat.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1879 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-01 01:01:27 +00:00
Michael Bayne 8f1bfa66ff Freak out when they don't have access. Not when they do.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1878 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-01 00:57:50 +00:00
Michael Bayne dd4b1c69c3 Added broadcast chat mechanism.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1875 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-31 23:27:16 +00:00
Ray Greenwell c919832043 we actually want to report disconnect time with a granularity of SECOND
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1866 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-30 01:56:17 +00:00
Ray Greenwell 316634eb58 report idle / disconnected times when whispering.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1865 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-30 01:47:12 +00:00
Michael Bayne e54a4d41f4 The great invocation services rethink of 2002! Rearchitected the remote
method invocation services and converted everything to the new style.
Could this be my biggest checkin ever?


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1642 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-08-14 19:08:01 +00:00
Ray Greenwell 71c7a488c9 byte'd chat mode code
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1600 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-22 22:54:04 +00:00
Ray Greenwell 5c5038690b Added support for think and emote.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1599 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-22 22:26:26 +00:00
Michael Bayne 4ec673e6c2 Localized chat! Server entities may now fake speak and tell messages that
are translated by the client upon receipt. We love to translate.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1319 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-30 17:27:30 +00:00
Michael Bayne e782bacb35 Modified system message delivery to include a localization bundle
identifier which indicates which bundle to use when translating the
message for display to the client.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1074 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-26 05:47:40 +00:00
Michael Bayne 6ffaab86f5 Wasn't terminating function when it discovers that the target user is not
online.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@813 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-17 00:52:43 +00:00
Michael Bayne 094c1f1ce6 Added facilities for sending system messages to places which are like
speak messages but come from the server and are displayed differently
(like in all red or something because these will say things like "The
system is shutting down in five minutes.")


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@501 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-18 23:55:24 +00:00
Michael Bayne d34b92b11c Moved code for sending chat message to place into separate function that
can be called by outside services.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@496 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-18 20:51:59 +00:00
Michael Bayne 8a4c46badc The first great Three Rings renaming. Cocktail changed to Narya, Cher
changed to Presents and Party changed to Crowd. Whee!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@431 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-11 04:07:54 +00:00
Michael Bayne 027bb29769 Created fooCodes interfaces to go along with invocation service
packages. These contain all the message codes as well as error response
codes that are used by a particular invocation service.

Also changed client.LocationManager to client.LocationDirector and
chat.ChatManager to chat.ChatDirector to go along with the new philosophy
of naming the client-side managing entity for an invocation service a
director.

Also elimitated cocktail.util.Codes since it's no longer used as a central
repository for codes (instead they are in InvocationCodes and its
derivatives).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@368 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-01 22:14:55 +00:00
Michael Bayne a44e552eb8 Modified invocation services such that providers are responsible for
delivering their own responses. They now have all the information
necessary to do so which means that they can delay the delivery of a
response until some other asynchronous event has taken place (like a
database load completing). Prior to this, they were required to complete
their service immediately and return the response back to the invocation
manager.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@216 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-11 00:05:58 +00:00