Package org.astrogrid.samp.test
Class Calculator
java.lang.Object
org.astrogrid.samp.test.Tester
org.astrogrid.samp.test.Calculator
- All Implemented Interfaces:
CallableClient
Test client. Performs simple integer arithmetic.
- Since:
- 21 Jul 2008
- Author:
- Mark Taylor
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Calculator.SendModeSends messages using the Synchronous Call/Response delivery pattern.static final Calculator.SendModeSends messages using the Notify delivery pattern.static final Calculator.SendModeSends messages using a random choice of one of the other modes.static final Calculator.SendModeSends messages using the Asynchronous Call/Response delivery pattern. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidflush()Waits until all the responses this client is expecting to get have been safely received.Returns the hub connection used by this client.intReturns the total number of messages received using any delivery pattern.intReturns the total number of messages sent using any delivery pattern.voidreceiveCall(String senderId, String msgId, Message msg) Receives a message for which a response is required.voidreceiveNotification(String senderId, Message msg) Receives a message for which no response is required.voidreceiveResponse(String senderId, String msgTag, Response response) Receives a response to a message previously sent by this client.voidsendMessage(String receiverId, Calculator.SendMode mode) Sends a randomly generated message in a randomly generated way to a given receiver.Methods inherited from class org.astrogrid.samp.test.Tester
assertEquals, assertEquals, assertTrue, fail
-
Field Details
-
NOTIFY_MODE
Sends messages using the Notify delivery pattern. -
ASYNCH_MODE
Sends messages using the Synchronous Call/Response delivery pattern. -
SYNCH_MODE
Sends messages using the Asynchronous Call/Response delivery pattern. -
RANDOM_MODE
Sends messages using a random choice of one of the other modes.
-
-
Constructor Details
-
Calculator
Constructor.- Parameters:
connection- hub connectionrandom- random number generator- Throws:
SampException
-
-
Method Details
-
sendMessage
Sends a randomly generated message in a randomly generated way to a given receiver. The receiver should be another calculator client, like this one. If the message is sent according to one of the call/response delivery patterns the response will be checked to ensure that it has the correct value.- Parameters:
receiverId- client ID of another Calculator client.- Throws:
SampException
-
getSendCount
public int getSendCount()Returns the total number of messages sent using any delivery pattern.- Returns:
- number of sends
-
getReceiveCount
public int getReceiveCount()Returns the total number of messages received using any delivery pattern.- Returns:
- number of receives
-
getConnection
Returns the hub connection used by this client.- Returns:
- connection
-
flush
public void flush()Waits until all the responses this client is expecting to get have been safely received. -
receiveNotification
Description copied from interface:CallableClientReceives a message for which no response is required.- Specified by:
receiveNotificationin interfaceCallableClient- Parameters:
senderId- public ID of sending clientmsg- message
-
receiveCall
Description copied from interface:CallableClientReceives a message for which a response is required. The implementation must take care to call the hub'sreplymethod at some future point.- Specified by:
receiveCallin interfaceCallableClient- Parameters:
senderId- public ID of sending clientmsgId- message identifier for later use with replymsg- message- Throws:
SampException
-
receiveResponse
Description copied from interface:CallableClientReceives a response to a message previously sent by this client.- Specified by:
receiveResponsein interfaceCallableClient- Parameters:
senderId- public ID of responding clientmsgTag- client-defined tag labelling previously-sent messageresponse- returned response object
-