Commit Graph

302 Commits

Author SHA1 Message Date
Michael Bayne ba4985053f Revamped "persona selection" support. Things now actually work, and in as
sensible a way as we can hope for.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1717 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-19 23:36:59 +00:00
Michael Bayne 8b7e880d3c Not to log the whole user object.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1711 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-18 18:40:20 +00:00
Walter Korman 4fa88cd501 Fixed javadoc typo.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1707 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-18 01:10:27 +00:00
Michael Bayne fc1232b98b Added means by which client's username can be changed (very carefully).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1684 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-16 23:34:25 +00:00
Michael Bayne 3d5ae4becb Report the caller rather than their oid for failed service requests.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1666 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-06 01:49:23 +00:00
Michael Bayne 99edb5cd5e Regenerated services and receivers to fix bugs and use updated templates.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1659 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-08-20 19:38:16 +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
Michael Bayne d06aeb2cc7 Shut the server down if we were unable to initialize it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1616 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-25 20:24:02 +00:00
Michael Bayne 1877aacb3b Report the port to which we attempted to bind in the event of a bind
failure.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1615 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-25 20:23:25 +00:00
Michael Bayne c3191b9170 Brought code into line with the new streaming world order.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1606 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-23 05:52:49 +00:00
Michael Bayne 71c392555f Fixed bug in dobj reference management.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1581 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-17 01:54:33 +00:00
Michael Bayne cf8608f20a Enhanced reporting in failure conditions; fixed a problem where attempting
to end the session of a client that was already ended would result in
funny business.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1567 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-10 01:26:21 +00:00
Michael Bayne ae4267a7d5 Fixed problem with LogoffDispatcher where it was reusing a single instance
for all clients in a non-reentrant manner.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1566 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-10 01:25:11 +00:00
Michael Bayne 3be1d56ae7 Cleaned up connection handling code so that it deals more robustly and
gracefully with failures; also no longer attempt to send messages to a
connection that has already been closed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1565 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-10 01:23:45 +00:00
Michael Bayne 6b77216df1 Report some sort of identifying information so that we can differentiate
between connections even on JVMs (like Linux's) that seem to feel no need
to actually return anything sensible from InetAddress.toString().


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1564 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-10 01:22:17 +00:00
Michael Bayne 3261cff412 Removed debug logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1410 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-31 07:33:33 +00:00
Michael Bayne 587e89ef24 Created services for distributing delta times over the network which are
interpreted according to a globally established base time.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1404 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-28 23:14:06 +00:00
Michael Bayne 27866e0541 Moved configuration fiddling into config object.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1402 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-28 22:25:44 +00:00
Michael Bayne 2f1a67077a Added code to establish the time delta between the client and server
clocks immediately following authentication.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1398 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-28 21:56:38 +00:00
Michael Bayne 8a7a046df8 Modified safe interval to use IntervalManager services because there's a
single instance of the IntervalManager unlike the standard Java Timer
services which would require someone to have a timer instance to do the
scheduling of our safe intervals. Plus Ray will be much happier now that
the SafeInterval is not so flippant about reusing methods.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1392 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-24 21:38:24 +00:00
Michael Bayne 989a9867e0 Created a convenience class for executing code on the dobjmgr thread via
the standard Java timer services.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1391 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-24 21:03:15 +00:00
Michael Bayne 52790799d2 Name changes; comment fix.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1295 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-26 02:34:11 +00:00
Michael Bayne e3fafb5b8c Exposed the mechanism for locking down client objects during a client
session so that fake sessions can effect their own locking.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1294 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-26 02:32:27 +00:00
Michael Bayne 2b6a4a1a5a Destroy the client object if we decide to unmap it because we're the only
ones that know that such an action is safe and we don't want stray client
objects lying around cluttering things up.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1278 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-18 22:37:08 +00:00
Michael Bayne d635c003e2 Added getClient().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1277 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-18 20:46:43 +00:00
Walter Korman 4fc5f574d8 Added facility for enumerating the body objects for all active users on
the server.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1274 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-18 00:44:50 +00:00
Michael Bayne 496732db3a Automatically generate a failure response if an invocation provider method
throws ServiceFailedException. The response for a service request named
<foo> would be <foo>Failed. The response has a single argument which is
the reason string provided by the ServiceFailedException. We were doing
this by hand all over the place, and now it will be handled automatically.
Yay!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1268 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-17 18:20:04 +00:00
Michael Bayne a2db66aa21 More Config rethink.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1167 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-28 23:59:34 +00:00
Michael Bayne b486315e47 Revamp! Modified the way configuration is handled.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1166 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-28 22:32:34 +00:00
Michael Bayne 35df145846 Added the ability to set up a default access controller which is used (by
default) for all objects created in the system.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1136 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-20 03:23:00 +00:00
Michael Bayne 970410d4e6 Minor fixups to prevent complaints during logoff.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1090 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-05 06:15:43 +00:00
Michael Bayne 268b0797f6 Removed verbose logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1089 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-05 06:15:23 +00:00
Michael Bayne 9e16e87a69 Doris the refactorasaurus. Restructured the whole client object resolution
process so that it can be done by other entities than just the client
management services. Coordination between these parties is managed so that
no toes are stepped on in the course of loading and unloading clients and
everything is generally much nicer.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1086 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-05 05:33:25 +00:00
Michael Bayne 38ca708a4f Modified authentication process such that an authenticator thread is no
longer maintained. Implementations can choose to create their own
authentication thread if they wish or use some existing combination of the
invoker and dobjmgr threads. Also added an invoker to the base server
class.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1085 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-05 03:19:18 +00:00
Michael Bayne 1bca84927f Added support for DObject transactions which are collections of events
that are dispatched over the network at once and processed all at once.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@979 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-09 07:50:37 +00:00
Michael Bayne c57ff60e69 Removed ability to run server in test mode. We don't need a whole server
when were unit testing.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@977 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-09 07:49:41 +00:00
Michael Bayne d2ee77e08e Use safeToString() when logging the object that caused a subscriber to
choke so that we don't choke if DObject.toString() chokes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@919 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-02 09:53:00 +00:00
Michael Bayne 9d9872f606 Made ObjectAccessException a nestable exception; modified
objectAvailable() error dispatching to not incorrectly report a failure to
create an object.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@918 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-02 09:42:36 +00:00
Michael Bayne e670b076e6 Made toString() extendable. Oh God, how I wish I had multiple inheritance
and could just fold in a Stringable class instead of rewriting the same
code thousands of times. Three cheers for code reuse!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@766 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-13 05:32:28 +00:00
Michael Bayne a0bdcb9627 Don't claim to have authed a connection unless we accepted the auth
request.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@736 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-04 07:32:10 +00:00
Michael Bayne 60f8cca7a5 Added a means by which to set the authenticator in the auth manager.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@735 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-04 01:48:51 +00:00
Michael Bayne 5d2f302218 Created RootDObjectManager interface for those entities that want to look
up objects directly by oid. They, of course, must be on the server if they
are doing this.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@728 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-04 01:01:54 +00:00
Michael Bayne 16efe382bd Augmenting the AuthResponseData with server stuff turned out to be a bad
idea because that class is shared between the client and the server, so
instead we provide a blank object reference in which the authenticator can
provide whatever information it wants to the client services.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@723 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-03 22:01:57 +00:00
Michael Bayne a0ba41c31d Provide a mechanism for the authenticator to pass information to the
client object by way of passing the auth response data up to the client
after the completion of the authentication phase. This allows information
loaded by an authenticator (like a user record) to make its way into the
real world.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@722 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-03 20:14:51 +00:00
Michael Bayne ff94bd7799 Made it possible to disable client and connection managers for testing.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@609 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-08 05:39:51 +00:00
Michael Bayne d584566899 Removed bogus imports.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@606 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-08 02:59:30 +00:00
Michael Bayne 304e7bd4b4 Whoops. Missing an import.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@572 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-25 23:37:13 +00:00
Michael Bayne cd458fa3aa Moved the default server port into the client where it is accessible by
various entities rather than only server code.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@571 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-25 23:36:06 +00:00
Michael Bayne 57b2e93ac3 Modified DObjectManager.createObject() to not afford optional subscription
because subscription no longer means receiving events.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@537 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-24 00:36:40 +00:00
Michael Bayne c14b396edf Need to remove ourselves from the listener list as well as the subscriber
list now that we do both.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@492 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-18 18:41:29 +00:00