summaryrefslogtreecommitdiff
path: root/opendc-experiments
diff options
context:
space:
mode:
authormjkwiatkowski <mati.rewa@gmail.com>2026-02-23 12:05:58 +0100
committermjkwiatkowski <mati.rewa@gmail.com>2026-02-23 12:05:58 +0100
commit4f816318b6672d40f23b22ca44cc06b77cadf961 (patch)
tree40aa2cae25fee7a92eb36d1d471534a8b53fecd0 /opendc-experiments
parentdaad473975cc3e6eba0536d5a8fe750cf8b2fa7d (diff)
feat: added a working connection to Redis, and a scaffolding for the RESTful APIHEADmaster
Diffstat (limited to 'opendc-experiments')
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentCli.kt9
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentRunner.kt8
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt1
3 files changed, 9 insertions, 9 deletions
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentCli.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentCli.kt
index f3e634e6..ad662f25 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentCli.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentCli.kt
@@ -28,6 +28,7 @@ import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.parameters.options.defaultLazy
import com.github.ajalt.clikt.parameters.options.option
import com.github.ajalt.clikt.parameters.types.file
+import org.opendc.common.utils.HTTPClient
import org.opendc.experiments.base.experiment.getExperiment
import java.io.File
import java.io.IOException
@@ -40,10 +41,6 @@ public fun main(args: Array<String>) {
else ExperimentListener().main(args)
}
-/**
- * Opens a client socket from `config`, but otherwise works as before.
- * @author Mateusz
- */
internal class ExperimentCommand : CliktCommand(name = "experiment") {
private val experimentPath by option("--experiment-path", help = "path to experiment file")
.file(canBeDir = false, canBeFile = true)
@@ -52,6 +49,7 @@ internal class ExperimentCommand : CliktCommand(name = "experiment") {
override fun run() {
try {
val experiment = getExperiment(experimentPath)
+ HTTPClient.getInstance()?.sendExperiment(experimentPath)
runExperiment(experiment)
} catch (e: IOException) {
@@ -60,9 +58,8 @@ internal class ExperimentCommand : CliktCommand(name = "experiment") {
}
}
-
/**
- * Parses CLI arguments.
+ * Entry point to the digital twin.
*
* @author Mateusz Kwiatkowski
*/
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentRunner.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentRunner.kt
index a777262f..8eab48e6 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentRunner.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentRunner.kt
@@ -26,6 +26,7 @@ import me.tongfei.progressbar.ProgressBarBuilder
import me.tongfei.progressbar.ProgressBarStyle
import org.opendc.common.utils.JavalinRunner
import org.opendc.common.utils.PostgresqlDB
+import org.opendc.common.utils.Redis
import org.opendc.experiments.base.experiment.Scenario
/**
@@ -62,13 +63,16 @@ public fun runExperiment(experiment: List<Scenario>) {
}
/**
- * Accepts a HTTP server and listens for requests.
+ * Established a connection with PostgreSQL.
+ * Creates a Javalin HTTP server and listens for requests.
*
* @author Mateusz Kwiatkowski
*
- * @see <a href=https://ktor.io/docs>https://ktor.io/docs</a>
+ * @see <a href=https://javalin.io/documentation>https://javalin.io/documentation</a>
*/
public fun runListener() {
PostgresqlDB()
JavalinRunner()
+ Redis().run()
+ println("Hello world, this means that Javalin already runs on another thread.")
} \ No newline at end of file
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt
index ab25ef25..5a9a4f3c 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt
@@ -191,7 +191,6 @@ public fun addExportModel(
) {
/*
- * @author Mateusz
* Here is the entry point to KafkaComputeMonitor().
* With this setting, the simulator no longer writes to parquet files.
* To get back the original code, refer to https://github.com/atlarge-research/opendc