From 1a16f73ec3bb0eae98b4d540984f9015abe4c249 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 28 May 2008 22:14:40 +0000 Subject: all protocol classnames now have a VS prefix --- .../implementations/VSBroadcastSturmProtocol.java | 106 +++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 sources/protocols/implementations/VSBroadcastSturmProtocol.java (limited to 'sources/protocols/implementations/VSBroadcastSturmProtocol.java') diff --git a/sources/protocols/implementations/VSBroadcastSturmProtocol.java b/sources/protocols/implementations/VSBroadcastSturmProtocol.java new file mode 100644 index 0000000..07d4130 --- /dev/null +++ b/sources/protocols/implementations/VSBroadcastSturmProtocol.java @@ -0,0 +1,106 @@ +/* + * VS is (c) 2008 by Paul C. Buetow + * vs@dev.buetow.org + */ +package protocols.implementations; + +import java.util.ArrayList; + +import core.VSMessage; +import protocols.VSAbstractProtocol; + +// TODO: Auto-generated Javadoc +/** + * The Class VSBroadcastSturmProtocol. + */ +public class VSBroadcastSturmProtocol extends VSAbstractProtocol { + private static final long serialVersionUID = 1L; + + /** The sent messages. */ + private ArrayList sentMessages; + + /** The broadcast count. */ + private static int broadcastCount; + + /** + * Instantiates a new broadcast sturm protocol. + */ + public VSBroadcastSturmProtocol() { + super(VSAbstractProtocol.HAS_ON_CLIENT_START); + setClassname(getClass().toString()); + sentMessages = new ArrayList(); + } + + /* (non-Javadoc) + * @see events.VSAbstractProtocol#onClientInit() + */ + public void onClientInit() { + } + + /* (non-Javadoc) + * @see protocols.VSAbstractProtocol#onClientReset() + */ + public void onClientReset() { + } + + /* (non-Javadoc) + * @see protocols.VSAbstractProtocol#onClientStart() + */ + public void onClientStart() { + VSMessage message = new VSMessage(); + message.setInteger("Broadcast", broadcastCount++); + sentMessages.add(message); + sendMessage(message); + } + + /* (non-Javadoc) + * @see protocols.VSAbstractProtocol#onClientRecv(core.VSMessage) + */ + public void onClientRecv(VSMessage recvMessage) { + } + + /* (non-Javadoc) + * @see protocols.VSAbstractProtocol#onClientSchedule() + */ + public void onClientSchedule() { + } + + /* (non-Javadoc) + * @see events.VSAbstractProtocol#onServerInit() + */ + public void onServerInit() { + } + + /* (non-Javadoc) + * @see protocols.VSAbstractProtocol#onServerReset() + */ + public void onServerReset() { + sentMessages.clear(); + } + + /* (non-Javadoc) + * @see protocols.VSAbstractProtocol#onServerSchedule() + */ + public void onServerSchedule() { + } + + /* (non-Javadoc) + * @see protocols.VSAbstractProtocol#onServerRecv(core.VSMessage) + */ + public void onServerRecv(VSMessage recvMessage) { + if (!sentMessages.contains(recvMessage)) { + VSMessage message = new VSMessage(); + message.setInteger("Broadcast", recvMessage.getInteger("Broadcast")); + + sentMessages.add(message); + sendMessage(message); + } + } + + /* (non-Javadoc) + * @see protocols.VSAbstractProtocol#toString() + */ + public String toString() { + return super.toString(); + } +} -- cgit v1.2.3