|
|
|
@ -3,10 +3,53 @@
|
|
|
|
|
#include <iostream>
|
|
|
|
|
#include <queue>
|
|
|
|
|
|
|
|
|
|
#include <vector>
|
|
|
|
|
#include <cstdint>
|
|
|
|
|
|
|
|
|
|
#include <toml++/toml.h>
|
|
|
|
|
#include <vector>
|
|
|
|
|
#include <filesystem>
|
|
|
|
|
#include <string_view>
|
|
|
|
|
#include "host.hpp"
|
|
|
|
|
|
|
|
|
|
namespace fs = std::filesystem;
|
|
|
|
|
|
|
|
|
|
std::vector<sk::host> makeMachinesFromToml(const fs::path& confFile){
|
|
|
|
|
std::vector<sk::host> hosts;
|
|
|
|
|
|
|
|
|
|
auto config = toml::parse_file( confFile.string() );
|
|
|
|
|
toml::table *server_section = config.get_as<toml::table>("serveurs");
|
|
|
|
|
|
|
|
|
|
// Parcourir les serveurs
|
|
|
|
|
for (const auto& [server_name_key, server_info_value] : *server_section) {
|
|
|
|
|
std::string server_name{server_name_key};
|
|
|
|
|
toml::table *server_info_ptr = server_info_value.as_table();
|
|
|
|
|
if (server_info_ptr == nullptr) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
toml::table &server_info = *server_info_ptr;
|
|
|
|
|
|
|
|
|
|
if(server_info.get_as<std::string>("ip") && server_info.get_as<int64_t>("nbContainerMax")){
|
|
|
|
|
std::string server_ip = server_info.get_as<std::string>("ip")->get();
|
|
|
|
|
int server_max_containers = server_info.get_as<int64_t>("nbContainerMax")->get();
|
|
|
|
|
|
|
|
|
|
hosts.push_back(sk::host(server_ip,server_max_containers));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return hosts;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int main() {
|
|
|
|
|
std::queue<sk::program> queue;
|
|
|
|
|
queue.push(sk::program{"echo $(( 1 + 2 ))",
|
|
|
|
|
"ghcr.io/moshell-lang/moshell:master"});
|
|
|
|
|
std::vector<sk::host> hosts = makeMachinesFromToml("conf.toml");
|
|
|
|
|
for(int x=0;x < hosts.size();x++){
|
|
|
|
|
std::cout<<hosts[x].getNbConnectionsMax()<<std::endl;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*std::queue<sk::program> queue;
|
|
|
|
|
queue.push(sk::program{"echo $(( 1 + 2 ))", "ghcr.io/moshell-lang/moshell:master"});
|
|
|
|
|
sk::runner runner;
|
|
|
|
|
while (!queue.empty()) {
|
|
|
|
|
const sk::program ¤t = queue.front();
|
|
|
|
@ -14,6 +57,6 @@ int main() {
|
|
|
|
|
std::cout << "out: " << res.out << "\n";
|
|
|
|
|
std::cout << "err: " << res.err << "\n";
|
|
|
|
|
queue.pop();
|
|
|
|
|
}
|
|
|
|
|
}*/
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
}
|