From f6d2a6bbbc37c552accf91a13ccd6ea45ecf8e73 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 20 Jun 2025 17:26:52 +0300 Subject: Complete implementation of timestamp event classes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- .../protocols/implementations/VSTimestampDemoProtocol.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'src/main/java/protocols/implementations/VSTimestampDemoProtocol.java') 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(); } } -- cgit v1.2.3