diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2022-09-27 11:11:48 +0200 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2022-10-03 17:30:38 +0200 |
| commit | 70e69db59c821568b5469c43b38b4d0a46b84e92 (patch) | |
| tree | ec28d30ac347de7f7b67c457e9e79375075aac9e /opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/ServiceRegistry.kt | |
| parent | 6e66158dcce09dbd60ff5a0e0ec9b127c9a219d9 (diff) | |
feat(exp/base): Add provisioning tool for experiments
This change adds to the experiment base in OpenDC a provisioning tool to
help setup the experimental environment in a reproducible manner.
The experimental environment can be defined in terms of *provisioning
steps* which manage the allocation, configuration, and clean-up of all
resources necessary for the experiments.
The provisioning steps are executed sequentially, so in case of dependencies,
the steps need to be ordered correctly.
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.kt | 9 |
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 } |
