diff --git a/src/host.cpp b/src/host.cpp index 8961514..479281f 100644 --- a/src/host.cpp +++ b/src/host.cpp @@ -2,9 +2,10 @@ namespace sk { host::host(const std::string &ip, unsigned int connectionsMax) - : ip{ip}, connections{0}, connectionsMax{connectionsMax} {} + : ip{ip}, connections{0}, connectionsMax{connectionsMax}, runners{} {} -void host::addConnection() { +void host::addConnection(sk::runner& runner) { + runners.push(runner); connections += 1; } diff --git a/src/host.hpp b/src/host.hpp index c82c5d0..f5fe88f 100644 --- a/src/host.hpp +++ b/src/host.hpp @@ -1,6 +1,8 @@ #pragma once #include +#include +#include "runner.hpp" namespace sk { class host { @@ -9,9 +11,11 @@ class host { unsigned int connections; unsigned int connectionsMax; + std::queue runners; + public: host(const std::string &ip, unsigned int connectionsMax); - void addConnection(); + void addConnection(sk::runner& runner); const std::string &getIp() const; diff --git a/src/main.cpp b/src/main.cpp index eba443d..7672bb8 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -32,15 +32,15 @@ sk::runner_backend detect_backend() { } int main() { - std::vector hosts = sk::config::loadHostsFromToml("../conf.toml"); + std::vector listsHosts = sk::config::loadHostsFromToml("../conf.toml"); + std::priority_queue hosts(listsHosts.begin(), listsHosts.end()); if (hosts.empty()) { std::cerr << "Pas de host" << std::endl; } std::queue queue; - queue.push(sk::program{"echo $(( 1 + 2 ))", - "ghcr.io/moshell-lang/moshell:master"}); + queue.push(sk::program{"echo $(( 1 + 2 ))", "ghcr.io/moshell-lang/moshell:master"}); sk::runner runner(detect_backend()); while (!queue.empty()) {