summaryrefslogtreecommitdiff
path: root/src/main/java/protocols/implementations/VSTimestampDemoProtocol.java
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-06-20 17:26:52 +0300
committerPaul Buetow <paul@buetow.org>2025-06-20 17:26:52 +0300
commitf6d2a6bbbc37c552accf91a13ccd6ea45ecf8e73 (patch)
treeb1ec7ce83b348fc76e3f6a21dce6960c457bf765 /src/main/java/protocols/implementations/VSTimestampDemoProtocol.java
parent5e16f7f37c984d7ee1d1f0484cf0a8154bbb849d (diff)
Complete implementation of timestamp event classes
- Add language strings for all timestamp events and demo protocol in VSDefaultPrefs - Register new timestamp events and protocol in VSRegisteredEvents: - VSLamportTimestampEvent - VSVectorTimestampEvent - VSTimestampMonitorEvent - VSTimestampTriggeredEvent - VSTimestampDemoProtocol - Integrate VSVectorClockMonitor into VSInternalProcess: - Add vectorClockMonitor field - Override increaseVectorTime() and updateVectorTime() to trigger monitor - Clear monitor events on reset - Add getVectorClockMonitor() accessor - Add serialization support to VSTimestampTriggeredEvent for persistence - Fix VSTimestampDemoProtocol to use process's vector clock monitor - All 132 unit tests pass 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'src/main/java/protocols/implementations/VSTimestampDemoProtocol.java')
-rw-r--r--src/main/java/protocols/implementations/VSTimestampDemoProtocol.java14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/main/java/protocols/implementations/VSTimestampDemoProtocol.java b/src/main/java/protocols/implementations/VSTimestampDemoProtocol.java
index 70f252c..b3e9945 100644
--- a/src/main/java/protocols/implementations/VSTimestampDemoProtocol.java
+++ b/src/main/java/protocols/implementations/VSTimestampDemoProtocol.java
@@ -9,7 +9,6 @@ import events.implementations.VSLamportTimestampEvent;
import events.implementations.VSTimestampMonitorEvent;
import events.implementations.VSTimestampTriggeredEvent;
import events.implementations.VSVectorTimestampEvent;
-import events.implementations.VSVectorClockMonitor;
import protocols.VSAbstractProtocol;
/**
@@ -30,7 +29,6 @@ public class VSTimestampDemoProtocol extends VSAbstractProtocol {
}
private VSTimestampMonitorEvent lamportMonitor;
- private VSVectorClockMonitor vectorMonitor;
@Override
public void onServerInit() {
@@ -80,8 +78,6 @@ public class VSTimestampDemoProtocol extends VSAbstractProtocol {
lamportMonitor = new VSTimestampMonitorEvent(1); // Check every time unit
lamportMonitor.init(internalProcess);
- vectorMonitor = new VSVectorClockMonitor(internalProcess);
-
// Set up Lamport timestamp event
setupLamportEvent();
@@ -155,7 +151,7 @@ public class VSTimestampDemoProtocol extends VSAbstractProtocol {
}
);
- vectorMonitor.addVectorEvent(vectorEvent);
+ ((VSInternalProcess) process).getVectorClockMonitor().addVectorEvent(vectorEvent);
}
@Override
@@ -184,8 +180,8 @@ public class VSTimestampDemoProtocol extends VSAbstractProtocol {
if (lamportMonitor != null) {
lamportMonitor.stopMonitoring();
}
- if (vectorMonitor != null) {
- vectorMonitor.clearVectorEvents();
+ if (process instanceof VSInternalProcess) {
+ ((VSInternalProcess) process).getVectorClockMonitor().clearVectorEvents();
}
}
@@ -194,8 +190,8 @@ public class VSTimestampDemoProtocol extends VSAbstractProtocol {
if (lamportMonitor != null) {
lamportMonitor.stopMonitoring();
}
- if (vectorMonitor != null) {
- vectorMonitor.clearVectorEvents();
+ if (process instanceof VSInternalProcess) {
+ ((VSInternalProcess) process).getVectorClockMonitor().clearVectorEvents();
}
}