From f0a8f3906d6f4d94900117b4d9f0bd9e58f33e10 Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Mon, 4 Mar 2019 13:03:41 +0100 Subject: feat: Add initial interface for parallel simulations This change adds the initial interface design for parallel simulations, which requires explicit synchronization between actors in order to establish consistent virtual time between them. --- .../kotlin/com/atlarge/odcsim/engine/omega/OmegaActorSystem.kt | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'odcsim-engine-omega/src') diff --git a/odcsim-engine-omega/src/main/kotlin/com/atlarge/odcsim/engine/omega/OmegaActorSystem.kt b/odcsim-engine-omega/src/main/kotlin/com/atlarge/odcsim/engine/omega/OmegaActorSystem.kt index c4a9b35f..f6667d39 100644 --- a/odcsim-engine-omega/src/main/kotlin/com/atlarge/odcsim/engine/omega/OmegaActorSystem.kt +++ b/odcsim-engine-omega/src/main/kotlin/com/atlarge/odcsim/engine/omega/OmegaActorSystem.kt @@ -165,6 +165,14 @@ class OmegaActorSystem(root: Behavior, override val name: String) return true } + // Synchronization of actors in a single-threaded simulation is trivial: all actors are consistent in virtual + // time. + override fun sync(target: ActorRef<*>) {} + + override fun unsync(target: ActorRef<*>) {} + + override fun isSync(target: ActorRef<*>): Boolean = true + /** * Start this actor. */ -- cgit v1.2.3