summaryrefslogtreecommitdiff
path: root/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/ServiceRegistry.kt
diff options
context:
space:
mode:
Diffstat (limited to 'opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/ServiceRegistry.kt')
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/ServiceRegistry.kt9
1 files changed, 6 insertions, 3 deletions
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/ServiceRegistry.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/ServiceRegistry.kt
index a6776e14..e9d5b50e 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/ServiceRegistry.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/ServiceRegistry.kt
@@ -22,10 +22,8 @@
package org.opendc.experiments
-import org.opendc.experiments.broker.Broker
-
/**
- * A read-only registry of services accessible by a [Broker] during an experiment.
+ * A read-only registry of services used during experiments to resolve services.
*
* The service registry is similar conceptually to the Domain Name System (DNS), which is a naming system used to
* identify computers reachable via the Internet. The service registry should be used in a similar fashion.
@@ -39,4 +37,9 @@ public interface ServiceRegistry {
* @return The service with specified [name] and implementing [type] or `null` if it does not exist.
*/
public fun <T : Any> resolve(name: String, type: Class<T>): T?
+
+ /**
+ * Create a copy of the registry.
+ */
+ public fun clone(): ServiceRegistry
}