diff options
Diffstat (limited to 'odcsim/odcsim-api')
| -rw-r--r-- | odcsim/odcsim-api/build.gradle.kts | 1 | ||||
| -rw-r--r-- | odcsim/odcsim-api/src/main/kotlin/com/atlarge/odcsim/ProcessContext.kt | 9 |
2 files changed, 9 insertions, 1 deletions
diff --git a/odcsim/odcsim-api/build.gradle.kts b/odcsim/odcsim-api/build.gradle.kts index 51a80d2c..c8c6c90c 100644 --- a/odcsim/odcsim-api/build.gradle.kts +++ b/odcsim/odcsim-api/build.gradle.kts @@ -31,6 +31,7 @@ plugins { dependencies { implementation(kotlin("stdlib")) + api("org.slf4j:slf4j-api:${Library.SLF4J}") api("org.jetbrains.kotlinx:kotlinx-coroutines-core:${Library.KOTLINX_COROUTINES}") testImplementation("org.junit.jupiter:junit-jupiter-api:${Library.JUNIT_JUPITER}") diff --git a/odcsim/odcsim-api/src/main/kotlin/com/atlarge/odcsim/ProcessContext.kt b/odcsim/odcsim-api/src/main/kotlin/com/atlarge/odcsim/ProcessContext.kt index 2a72e331..30ef4114 100644 --- a/odcsim/odcsim-api/src/main/kotlin/com/atlarge/odcsim/ProcessContext.kt +++ b/odcsim/odcsim-api/src/main/kotlin/com/atlarge/odcsim/ProcessContext.kt @@ -27,11 +27,13 @@ package com.atlarge.odcsim import java.time.Clock import kotlin.coroutines.CoroutineContext import kotlin.coroutines.coroutineContext +import kotlinx.coroutines.CoroutineScope +import org.slf4j.Logger /** * Represents the execution context of a logical process in simulation. */ -public interface ProcessContext : CoroutineContext.Element { +public interface ProcessContext : CoroutineContext.Element, CoroutineScope { /** * Key for [ProcessContext] instance in the coroutine context. */ @@ -48,6 +50,11 @@ public interface ProcessContext : CoroutineContext.Element { public val clock: Clock /** + * A logger instance tied to the logical process. + */ + public val log: Logger + + /** * Spawn an anonymous logical process in the simulation universe with the specified [behavior]. */ public fun spawn(behavior: Behavior): ProcessRef |
