Format
continuous-integration/drone/push Build is passing Details

pull/2/head
Clément FRÉVILLE 2 years ago
parent 7296dab624
commit 8c814590f9

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