X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;ds=sidebyside;f=libtest%2Fserver.h;h=00f29cd837b19c9c21630c7fbbf0be835d942b04;hb=14b03373f1e507ec2600b0d1ad3324e5a4a222e0;hp=198e0f6abdc3b8981abcd3aece67c3d63976ac93;hpb=12a07e58df95bb8dbe167e4157b29c910177ade8;p=m6w6%2Flibmemcached diff --git a/libtest/server.h b/libtest/server.h index 198e0f6a..00f29cd8 100644 --- a/libtest/server.h +++ b/libtest/server.h @@ -14,6 +14,7 @@ #include #include #include +#include #define SERVERS_TO_CREATE 5 @@ -31,21 +32,12 @@ private: std::string _command; test_server_getpid *__get_pid; test_server_ping *__ping; + std::string _hostname; public: + server_st(in_port_t port_arg, test_server_getpid *, test_server_ping *); - char hostname[NI_MAXHOST]; - - server_st() : - _used(false), - _pid(-1), - _port(0), - __get_pid(NULL), - __ping(NULL) - { - pid_file[0]= 0; - strncpy(hostname, "localhost", sizeof(hostname)); - } + server_st(const std::string &socket_file, test_server_getpid *, test_server_ping *); void set_methods(test_server_getpid *get_pid_arg, test_server_ping *ping_arg) { @@ -53,6 +45,14 @@ public: __ping= ping_arg; } + const char *hostname() const + { + if (_hostname.empty()) + return ""; + + return _hostname.c_str(); + } + bool ping() { if (__ping) @@ -110,12 +110,7 @@ public: bool is_socket() const { - return hostname[0] == '/'; - } - - void set_hostname(const char *arg) - { - strncpy(hostname, arg, sizeof(hostname)); + return _hostname[0] == '/'; } bool kill(); @@ -129,16 +124,19 @@ std::ostream& operator<<(std::ostream& output, const server_st &arg); struct server_startup_st { - uint8_t count; + uint32_t count; uint8_t udp; std::string server_list; - server_st server[SERVERS_TO_CREATE]; + std::vector servers; server_startup_st() : count(SERVERS_TO_CREATE), udp(0) { } + void shutdown(); + void push_server(server_st *); + ~server_startup_st(); };