diff options
Diffstat (limited to 'opendc-experiments/opendc-experiments-base')
2 files changed, 14 insertions, 61 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 78ce6158..f3e634e6 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,21 +28,15 @@ 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.Config -import org.opendc.common.utils.ConfigReader -import org.opendc.common.utils.PostgresqlDB import org.opendc.experiments.base.experiment.getExperiment import java.io.File import java.io.IOException -import java.net.InetAddress -import java.net.ServerSocket -import java.net.Socket /** * Main entrypoint of the application. */ public fun main(args: Array<String>) { - if(args.size == 4) ExperimentCommand().main(args) + if(args.size == 2) ExperimentCommand().main(args) else ExperimentListener().main(args) } @@ -51,55 +45,33 @@ public fun main(args: Array<String>) { * @author Mateusz */ internal class ExperimentCommand : CliktCommand(name = "experiment") { - private val configPath by option("--config-path", help = "path to config file") - .file(canBeDir = false, canBeFile = true) - .defaultLazy { File("resources/config.json") } - private val experimentPath by option("--experiment-path", help = "path to experiment file") .file(canBeDir = false, canBeFile = true) .defaultLazy { File("resources/experiment.json") } override fun run() { - val configReader = ConfigReader() - val config = configReader.read(configPath) - var clientSocket : Socket? = null - try { - Config.setConfigSocket(clientSocket) val experiment = getExperiment(experimentPath) runExperiment(experiment) } catch (e: IOException) { println("${e.message}") - } finally { - clientSocket?.close() } } } /** - * Creates a server socket and database connection from `config`. - * @author Mateusz + * Parses CLI arguments. + * + * @author Mateusz Kwiatkowski */ internal class ExperimentListener: CliktCommand(name = "listener") { - private val configPath by option("--config-path", help = "path to config file") - .file(canBeDir = false, canBeFile = true) - .defaultLazy { File("resources/config.json") } - override fun run() { - val configReader = ConfigReader() - var serverSocket: ServerSocket? = null - val config = configReader.read(configPath) try { - - val inetAddress = InetAddress.getByName(config.address) - serverSocket = ServerSocket(config.port, config.backlog, inetAddress) - runListener(serverSocket) + runListener() } catch (e: IOException) { println("${e.message}") - } finally { - serverSocket?.close() } } }
\ No newline at end of file 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 3867a9f0..a777262f 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 @@ -24,12 +24,9 @@ package org.opendc.experiments.base.runner import me.tongfei.progressbar.ProgressBarBuilder import me.tongfei.progressbar.ProgressBarStyle -import org.opendc.common.utils.Config +import org.opendc.common.utils.JavalinRunner import org.opendc.common.utils.PostgresqlDB import org.opendc.experiments.base.experiment.Scenario -import java.io.IOException -import java.net.ServerSocket -import java.net.Socket /** * Run scenario when no pool is available for parallel execution @@ -65,29 +62,13 @@ public fun runExperiment(experiment: List<Scenario>) { } /** - * @author Mateusz - * Accepts a (single) connection and listens for requests. - * @param socket The socket to listen to. + * Accepts a HTTP server and listens for requests. + * + * @author Mateusz Kwiatkowski + * + * @see <a href=https://ktor.io/docs>https://ktor.io/docs</a> */ -public fun runListener(socket: ServerSocket) { - var client : Socket? = null - val db = PostgresqlDB() - try { - client = socket.accept() - Config.setConfigSocket(client) - // val request = ByteArray(1024) - - while(true){ -/* - val ret : Int? = Config.getConfigReader()?.read(request) - if(ret == -1) break - if(ret != null && ret > 0) runRequest(String(request, 0, ret)) - - */ } - - } catch (e: IOException) { - println("${e.message}") - } finally { - client?.close() - } +public fun runListener() { + PostgresqlDB() + JavalinRunner() }
\ No newline at end of file |
