Commit Graph

38 Commits

Author SHA1 Message Date
Michael Bayne a9720fd905 LGPLed the library. Hello world.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3099 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-08-27 02:21:06 +00:00
Ray Greenwell 60f9159f25 When flushing inactive clients, don't let a choke in one prevent us
from flushing the rest.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3005 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-05-10 17:45:27 +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
Ray Greenwell a7908454a1 Removed insano tracking that allowed me to find the IntroPirate bug.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2962 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-21 01:00:23 +00:00
Ray Greenwell cd2d0ef47b Completely hacky debugging code added to help me figure out why intro pirates
sometimes (never on my server!) released twice. This will save the stack
trace from the first release and spit it out after the "normal" error-reporting
stack trace from the second release.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2955 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-13 19:10:54 +00:00
Michael Bayne 233ccbc01c Not to freak out about unmapped authing connections, connections are only
mapped after they are authenticated.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2787 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-20 19:30:52 +00:00
Michael Bayne 493c75b865 Make client and connection count information available.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2718 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-22 02:50:49 +00:00
Michael Bayne 34cd22cc18 Need to register as a shutdowner.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2359 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-03-30 21:27:23 +00:00
Michael Bayne 057a5458ad Have the client manager let the clients know that they are being shutdown.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2357 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-03-30 21:04:18 +00:00
Michael Bayne 687dc5f564 Map client connections by normalized auth username rather than credentials
instances.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2294 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-03-02 03:47:06 +00:00
Michael Bayne 55f40108b8 Added simple mechanism to resolve a client, apply some operation to it and
release it back into the wild.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2010 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-29 23:40:32 +00:00
Michael Bayne 371ca60bf5 Replaced old wacked-in-head system with proper reference counting for
client objects.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1989 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-26 02:14:25 +00:00
Michael Bayne fa206b76ed Metrics! Added support for a "state of the server" report, in which
managers can participate, reporting lies, damned lies and useful
statistics. Initial participants include the client manager, the
connection manager and the distributed object manager.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1894 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-05 02:17:56 +00:00
Michael Bayne 2e32b6c3a7 Periodically scan the clients table and end the session of any expired
clients.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1872 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-31 21:04:19 +00:00
Michael Bayne 6c7bee6c1d Logging cleanups.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1747 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-24 00:51:01 +00:00
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 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 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 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 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 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 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 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 71de825456 Finished up session termination processing; added code to track
subscriptions and clear them out when the client disconnects.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@189 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-07 21:20:48 +00:00
Michael Bayne 7688865b96 Modified client internals to ensure that sessionWillStart(),
sessionWillResume() and sendBootstrapData() are all consistently called on
the dobjmgr thread because that is the most useful. Added
sessionDidTerminate() but session termination is not implemented yet.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@177 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-04 01:54:34 +00:00
Michael Bayne 162b179fa7 Changed Client to CherClient.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@162 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-03 02:25:49 +00:00
Michael Bayne a8ef12d483 Whoops. Was putting wrong thing in client map.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@126 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-25 17:59:30 +00:00
Michael Bayne b56a70ff34 Allow configuration to use derived class for Client and ClientObject.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@108 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-23 21:13:56 +00:00
Michael Bayne 6a1de87f2a Further wired up the client side of the distributed object system. Removed
the facilities for fetching (without subscribing to) an object. This is
done extremely rarely and the user might as well just subscribe and
immediately unsubscribe because the dichotomy between fetching and
subscribing just served to overly complicate the internals for no good
reason.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@30 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-06-09 23:39:04 +00:00
Michael Bayne 06f6fa26d5 Handle end session notification from client.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@29 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-06-05 22:50:08 +00:00
Michael Bayne 029712985e DObjectManager: added unsubscribeFromObject() for subscribers that wish to
unsubscribe in the absence of a reference to the object in question and
potentially from an unsavory thread.

Client, ClientManager, etc.: Further work on the server-side of the
distributed part of the distributed object functionality.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@27 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-06-05 22:44:31 +00:00
Michael Bayne 1c6b292edc Starting to wire up client/server dobj stuff.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@22 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-06-02 01:30:37 +00:00
Michael Bayne 2c3e4d9528 Wired up connection observer stuff. Created skeleton client manager. Wired
up post-authentication authing to running transition.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@21 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-06-01 22:12:03 +00:00