3 #include "WaitForConn.hpp"
19 using str_args_t = vector<string>;
20 using dyn_args_t = unordered_map<string, function<string(string)>>;
21 using socket_or_port_t = variant<string, int>;
30 unordered_map<int, unsigned> signalled;
31 socket_or_port_t socket_or_port{11211};
35 Server(string &&binary_, str_args_t &&str_args_ = {}, dyn_args_t &&dyn_args_ = {})
41 Server(string &&binary_, dyn_args_t &&dyn_args_)
52 Server &operator = (const Server &s) = default;
53 Server(const Server &s) = default;
55 Server &operator = (Server &&s) = default;
56 Server(Server &&s) = default;
58 pid_t getPid() const {
62 const string &getBinary() const {
66 const socket_or_port_t &getSocketOrPort() const {
67 return socket_or_port;
70 optional<pid_t> start();
73 bool signal(int signo = SIGTERM);
75 bool isListening(int max_timeout = 1000);
77 bool wait(int flags = 0);
85 optional<WaitForConn::conn_t> createSocket();