summaryrefslogtreecommitdiff
path: root/sources/protocols/VSAbstractProtocol.java
diff options
context:
space:
mode:
Diffstat (limited to 'sources/protocols/VSAbstractProtocol.java')
-rw-r--r--sources/protocols/VSAbstractProtocol.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/sources/protocols/VSAbstractProtocol.java b/sources/protocols/VSAbstractProtocol.java
index 2c84d96..05864fb 100644
--- a/sources/protocols/VSAbstractProtocol.java
+++ b/sources/protocols/VSAbstractProtocol.java
@@ -4,6 +4,7 @@
*/
package protocols;
+import events.internal.*;
import events.*;
import core.*;
@@ -83,7 +84,7 @@ abstract public class VSAbstractProtocol extends VSAbstractEvent {
*
* @param message the message
*/
- public final void onMessageRecv(VSMessage message) {
+ public final void onMessageRecvStart(VSMessage message) {
if (isIncorrectProtocol(message))
return;
@@ -152,6 +153,17 @@ abstract public class VSAbstractProtocol extends VSAbstractEvent {
}
/**
+ * Reschedules the protocol for a new time and runs onClientSchedule or onServerSchedule
+ *
+ * @param isClient the is client
+ */
+ protected final void scheduleAt(long time) {
+ VSAbstractEvent scheduleEvent = new ProtocolScheduleEvent(this, currentContextIsServer);
+ VSTask scheduleTask = new VSTask(time, process, scheduleEvent, VSTask.LOCAL);
+ process.getSimulationCanvas().getTaskManager().addTask(scheduleTask);
+ }
+
+ /**
* On client start.
*/
abstract protected void onClientStart();