diff options
| author | Paul Buetow <paul@buetow.org> | 2025-06-20 17:26:52 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-06-20 17:26:52 +0300 |
| commit | f6d2a6bbbc37c552accf91a13ccd6ea45ecf8e73 (patch) | |
| tree | b1ec7ce83b348fc76e3f6a21dce6960c457bf765 /src/main/java/protocols/implementations | |
| parent | 5e16f7f37c984d7ee1d1f0484cf0a8154bbb849d (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')
| -rw-r--r-- | src/main/java/protocols/implementations/VSTimestampDemoProtocol.java | 14 |
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(); } } |
