Added code to track a username to body object mapping for all users with
active sessions (even if they are currently disconnected). git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@178 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: CrowdClient.java,v 1.1 2001/08/03 02:28:20 mdb Exp $
|
// $Id: CrowdClient.java,v 1.2 2001/08/04 01:55:41 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.cocktail.party.server;
|
package com.threerings.cocktail.party.server;
|
||||||
|
|
||||||
@@ -14,15 +14,31 @@ public class PartyClient extends CherClient
|
|||||||
{
|
{
|
||||||
protected void sessionWillStart ()
|
protected void sessionWillStart ()
|
||||||
{
|
{
|
||||||
|
super.sessionWillStart();
|
||||||
|
|
||||||
// cast our client object to a body object
|
// cast our client object to a body object
|
||||||
_bodobj = (BodyObject)_clobj;
|
_bodobj = (BodyObject)_clobj;
|
||||||
|
|
||||||
// and configure our username
|
// and configure our username
|
||||||
_bodobj.setUsername(_username);
|
_bodobj.setUsername(_username);
|
||||||
|
|
||||||
|
// register our body object mapping
|
||||||
|
PartyServer.mapBody(_username, _bodobj);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void sessionWillResume ()
|
protected void sessionWillResume ()
|
||||||
{
|
{
|
||||||
|
super.sessionWillResume();
|
||||||
|
|
||||||
|
// nothing to do here presently
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void sessionDidTerminate ()
|
||||||
|
{
|
||||||
|
super.sessionDidTerminate();
|
||||||
|
|
||||||
|
// unregister our body object mapping
|
||||||
|
PartyServer.unmapBody(_username);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected BodyObject _bodobj;
|
protected BodyObject _bodobj;
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
//
|
//
|
||||||
// $Id: CrowdServer.java,v 1.4 2001/08/03 02:28:20 mdb Exp $
|
// $Id: CrowdServer.java,v 1.5 2001/08/04 01:55:41 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.cocktail.party.server;
|
package com.threerings.cocktail.party.server;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
import com.threerings.cocktail.cher.server.CherServer;
|
import com.threerings.cocktail.cher.server.CherServer;
|
||||||
|
|
||||||
@@ -49,6 +50,34 @@ public class PartyServer extends CherServer
|
|||||||
Log.info("Party server initialized.");
|
Log.info("Party server initialized.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The party server maintains a mapping of username to body object for
|
||||||
|
* all active users on the server. This should only be called from the
|
||||||
|
* dobjmgr thread.
|
||||||
|
*/
|
||||||
|
public static BodyObject lookupBody (String username)
|
||||||
|
{
|
||||||
|
return (BodyObject)_bodymap.get(username);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called by the party client to map a username to a particular body
|
||||||
|
* object. This should only be called from the dobjmgr thread.
|
||||||
|
*/
|
||||||
|
protected static void mapBody (String username, BodyObject bodobj)
|
||||||
|
{
|
||||||
|
_bodymap.put(username, bodobj);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called by the party client to unmap a username from a particular
|
||||||
|
* body object. This should only be called from the dobjmgr thread.
|
||||||
|
*/
|
||||||
|
protected static void unmapBody (String username)
|
||||||
|
{
|
||||||
|
_bodymap.remove(username);
|
||||||
|
}
|
||||||
|
|
||||||
public static void main (String[] args)
|
public static void main (String[] args)
|
||||||
{
|
{
|
||||||
PartyServer server = new PartyServer();
|
PartyServer server = new PartyServer();
|
||||||
@@ -61,6 +90,9 @@ public class PartyServer extends CherServer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** We use this to map usernames to body objects. */
|
||||||
|
protected static HashMap _bodymap = new HashMap();
|
||||||
|
|
||||||
// the path to the config file
|
// the path to the config file
|
||||||
protected final static String CONFIG_PATH =
|
protected final static String CONFIG_PATH =
|
||||||
"rsrc/config/cocktail/party/server";
|
"rsrc/config/cocktail/party/server";
|
||||||
|
|||||||
Reference in New Issue
Block a user