Created a test service and provider and sorted out further details.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@71 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: Client.java,v 1.8 2001/07/19 07:09:16 mdb Exp $
|
// $Id: Client.java,v 1.9 2001/07/19 07:48:25 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.cocktail.cher.client;
|
package com.threerings.cocktail.cher.client;
|
||||||
|
|
||||||
@@ -253,6 +253,9 @@ public class Client
|
|||||||
|
|
||||||
// create our invocation manager
|
// create our invocation manager
|
||||||
_invmgr = new InvocationManager(this, data.invOid);
|
_invmgr = new InvocationManager(this, data.invOid);
|
||||||
|
|
||||||
|
// let the client know that logon has now fully succeeded
|
||||||
|
notifyObservers(Client.CLIENT_DID_LOGON, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Credentials _creds;
|
protected Credentials _creds;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: Communicator.java,v 1.9 2001/07/19 07:09:16 mdb Exp $
|
// $Id: Communicator.java,v 1.10 2001/07/19 07:48:25 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.cocktail.cher.client;
|
package com.threerings.cocktail.cher.client;
|
||||||
|
|
||||||
@@ -163,8 +163,8 @@ public class Communicator
|
|||||||
_writer = new Writer();
|
_writer = new Writer();
|
||||||
_writer.start();
|
_writer.start();
|
||||||
|
|
||||||
// let the client know that logon succeeded
|
// wait for the bootstrap notification before we claim that we're
|
||||||
_client.notifyObservers(Client.CLIENT_DID_LOGON, null);
|
// actually logged on
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -365,6 +365,7 @@ public class Communicator
|
|||||||
|
|
||||||
} catch (ObjectStreamException ose) {
|
} catch (ObjectStreamException ose) {
|
||||||
Log.warning("Error decoding message: " + ose);
|
Log.warning("Error decoding message: " + ose);
|
||||||
|
Log.logStackTrace(ose);
|
||||||
|
|
||||||
} catch (InterruptedIOException iioe) {
|
} catch (InterruptedIOException iioe) {
|
||||||
// somebody set up us the bomb! we've been interrupted
|
// somebody set up us the bomb! we've been interrupted
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: TypedObjectRegistry.java,v 1.1 2001/06/11 17:44:04 mdb Exp $
|
// $Id: TypedObjectRegistry.java,v 1.2 2001/07/19 07:48:25 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.cocktail.cher.io;
|
package com.threerings.cocktail.cher.io;
|
||||||
|
|
||||||
@@ -36,6 +36,8 @@ public class TypedObjectRegistry
|
|||||||
// register our downstream message classes
|
// register our downstream message classes
|
||||||
TypedObjectFactory.registerClass(AuthResponse.TYPE,
|
TypedObjectFactory.registerClass(AuthResponse.TYPE,
|
||||||
AuthResponse.class);
|
AuthResponse.class);
|
||||||
|
TypedObjectFactory.registerClass(BootstrapNotification.TYPE,
|
||||||
|
BootstrapNotification.class);
|
||||||
TypedObjectFactory.registerClass(EventNotification.TYPE,
|
TypedObjectFactory.registerClass(EventNotification.TYPE,
|
||||||
EventNotification.class);
|
EventNotification.class);
|
||||||
TypedObjectFactory.registerClass(ObjectResponse.TYPE,
|
TypedObjectFactory.registerClass(ObjectResponse.TYPE,
|
||||||
@@ -54,5 +56,7 @@ public class TypedObjectRegistry
|
|||||||
AttributeChangedEvent.class);
|
AttributeChangedEvent.class);
|
||||||
TypedObjectFactory.registerClass(AttributesChangedEvent.TYPE,
|
TypedObjectFactory.registerClass(AttributesChangedEvent.TYPE,
|
||||||
AttributesChangedEvent.class);
|
AttributesChangedEvent.class);
|
||||||
|
TypedObjectFactory.registerClass(MessageEvent.TYPE,
|
||||||
|
MessageEvent.class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: InvocationManager.java,v 1.2 2001/07/19 07:09:16 mdb Exp $
|
// $Id: InvocationManager.java,v 1.3 2001/07/19 07:48:25 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.cocktail.cher.server;
|
package com.threerings.cocktail.cher.server;
|
||||||
|
|
||||||
@@ -80,7 +80,7 @@ public class InvocationManager
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// make sure the name is proper just for sanities sake
|
// make sure the name is proper just for sanity's sake
|
||||||
MessageEvent mevt = (MessageEvent)event;
|
MessageEvent mevt = (MessageEvent)event;
|
||||||
if (!mevt.getName().equals(InvocationObject.MESSAGE_NAME)) {
|
if (!mevt.getName().equals(InvocationObject.MESSAGE_NAME)) {
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: PresentsClient.java,v 1.6 2001/07/19 07:17:46 mdb Exp $
|
// $Id: PresentsClient.java,v 1.7 2001/07/19 07:48:25 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.cocktail.cher.server;
|
package com.threerings.cocktail.cher.server;
|
||||||
|
|
||||||
@@ -107,6 +107,8 @@ public class Client implements Subscriber, MessageHandler
|
|||||||
*/
|
*/
|
||||||
protected void sendBootstrap ()
|
protected void sendBootstrap ()
|
||||||
{
|
{
|
||||||
|
Log.info("Sending bootstrap [client=" + this + "].");
|
||||||
|
|
||||||
// create and populate our bootstrap data
|
// create and populate our bootstrap data
|
||||||
BootstrapData data = createBootstrapData();
|
BootstrapData data = createBootstrapData();
|
||||||
populateBootstrapData(data);
|
populateBootstrapData(data);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: PresentsServer.java,v 1.6 2001/07/19 07:09:16 mdb Exp $
|
// $Id: PresentsServer.java,v 1.7 2001/07/19 07:48:25 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.cocktail.cher.server;
|
package com.threerings.cocktail.cher.server;
|
||||||
|
|
||||||
@@ -9,6 +9,8 @@ import com.threerings.cocktail.cher.server.net.AuthManager;
|
|||||||
import com.threerings.cocktail.cher.server.net.ConnectionManager;
|
import com.threerings.cocktail.cher.server.net.ConnectionManager;
|
||||||
|
|
||||||
import com.threerings.cocktail.cher.server.test.TestObject;
|
import com.threerings.cocktail.cher.server.test.TestObject;
|
||||||
|
import com.threerings.cocktail.cher.server.test.TestProvider;
|
||||||
|
import com.threerings.cocktail.cher.client.test.TestService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The cher server provides a central point of access to the various
|
* The cher server provides a central point of access to the various
|
||||||
@@ -51,6 +53,9 @@ public class CherServer
|
|||||||
// create an object for testing
|
// create an object for testing
|
||||||
omgr.createObject(TestObject.class, null, false);
|
omgr.createObject(TestObject.class, null, false);
|
||||||
|
|
||||||
|
// register our test provider
|
||||||
|
invmgr.registerProvider(TestService.MODULE, new TestProvider());
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Log.warning("Unable to initialize server.");
|
Log.warning("Unable to initialize server.");
|
||||||
Log.logStackTrace(e);
|
Log.logStackTrace(e);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: TestClient.java,v 1.4 2001/06/13 05:17:55 mdb Exp $
|
// $Id: TestClient.java,v 1.5 2001/07/19 07:48:25 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.cocktail.cher.client.test;
|
package com.threerings.cocktail.cher.client.test;
|
||||||
|
|
||||||
@@ -37,7 +37,9 @@ public class TestClient
|
|||||||
{
|
{
|
||||||
Log.info("Client did logon [client=" + client + "].");
|
Log.info("Client did logon [client=" + client + "].");
|
||||||
// try subscribing to a test object
|
// try subscribing to a test object
|
||||||
client.getDObjectManager().subscribeToObject(1, this);
|
client.getDObjectManager().subscribeToObject(2, this);
|
||||||
|
// issue a test invocation request
|
||||||
|
TestService.test(client, "foo", 1, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void clientFailedToLogon (Client client, Exception cause)
|
public void clientFailedToLogon (Client client, Exception cause)
|
||||||
@@ -85,6 +87,11 @@ public class TestClient
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void handleTestSucceeded (String response)
|
||||||
|
{
|
||||||
|
Log.info("Got test response [rsp=" + response + "].");
|
||||||
|
}
|
||||||
|
|
||||||
public static void main (String[] args)
|
public static void main (String[] args)
|
||||||
{
|
{
|
||||||
TestClient tclient = new TestClient();
|
TestClient tclient = new TestClient();
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
//
|
||||||
|
// $Id: TestService.java,v 1.1 2001/07/19 07:48:25 mdb Exp $
|
||||||
|
|
||||||
|
package com.threerings.cocktail.cher.client.test;
|
||||||
|
|
||||||
|
import com.threerings.cocktail.cher.Log;
|
||||||
|
import com.threerings.cocktail.cher.client.Client;
|
||||||
|
import com.threerings.cocktail.cher.client.InvocationManager;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A test of the invocation services.
|
||||||
|
*/
|
||||||
|
public class TestService
|
||||||
|
{
|
||||||
|
public static final String MODULE = "test";
|
||||||
|
|
||||||
|
public static void test (
|
||||||
|
Client client, String one, int two, Object rsptarget)
|
||||||
|
{
|
||||||
|
InvocationManager invmgr = client.getInvocationManager();
|
||||||
|
Object[] args = new Object[] { one, new Integer(two) };
|
||||||
|
invmgr.invoke(MODULE, "Test", args, rsptarget);
|
||||||
|
Log.info("Sent test request [one=" + one + ", two=" + two + "].");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
//
|
||||||
|
// $Id: TestProvider.java,v 1.1 2001/07/19 07:48:25 mdb Exp $
|
||||||
|
|
||||||
|
package com.threerings.cocktail.cher.server.test;
|
||||||
|
|
||||||
|
import com.threerings.cocktail.cher.Log;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A test of the invocation services.
|
||||||
|
*/
|
||||||
|
public class TestProvider
|
||||||
|
{
|
||||||
|
public Object[] handleTestRequest (String one, int two)
|
||||||
|
{
|
||||||
|
Log.info("Test request [one=" + one + ", two=" + two + "].");
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user