X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=test%2Flib%2FServer.hpp;h=26acdc4468b2f89ff0b4524e28ea3251a273a923;hb=ac25aff8b62e8596e20f0fd2a2c3eda96bdb437e;hp=b90ac8d7a4a38943695aca5a0b8ad4309b31411e;hpb=d896aed5ccb41cd117c99b4e60cce17d8abf7cc2;p=awesomized%2Flibmemcached diff --git a/test/lib/Server.hpp b/test/lib/Server.hpp index b90ac8d7..26acdc44 100644 --- a/test/lib/Server.hpp +++ b/test/lib/Server.hpp @@ -1,3 +1,18 @@ +/* + +--------------------------------------------------------------------+ + | libmemcached - C/C++ Client Library for memcached | + +--------------------------------------------------------------------+ + | Redistribution and use in source and binary forms, with or without | + | modification, are permitted under the terms of the BSD license. | + | You should have received a copy of the license in a bundled file | + | named LICENSE; in case you did not receive a copy you can review | + | the terms online at: https://opensource.org/licenses/BSD-3-Clause | + +--------------------------------------------------------------------+ + | Copyright (c) 2006-2014 Brian Aker https://datadifferential.com/ | + | Copyright (c) 2020 Michael Wallner | + +--------------------------------------------------------------------+ +*/ + #pragma once #include "common.hpp" @@ -7,7 +22,6 @@ class Server { public: - friend class Cluster; using arg_func_t = function; @@ -15,25 +29,24 @@ public: using arg_pair_t = pair; using argv_t = vector>; - explicit - Server(string binary_ = "false", argv_t args_ = {}); + explicit Server(string binary_ = "false", argv_t args_ = {}); ~Server(); Server(const Server &s); - Server &operator = (const Server &s); + Server &operator=(const Server &s); - Server(Server &&s) { + Server(Server &&s) noexcept { *this = move(s); }; - Server &operator = (Server &&s) { + Server &operator=(Server &&s) noexcept { binary = exchange(s.binary, "false"); args = exchange(s.args, {}); pid = exchange(s.pid, 0); pipe = exchange(s.pipe, -1); status = exchange(s.status, 0); signalled = exchange(s.signalled, {}); - socket_or_port = exchange(s.socket_or_port, 11211); + socket_or_port = exchange(s.socket_or_port, {}); output = exchange(s.output, {}); return *this; }; @@ -49,23 +62,20 @@ public: int pipe; ChildProc(pid_t pid_, int pipe_) : pid{pid_} - , pipe{pipe_} - { - } + , pipe{pipe_} {} }; optional start(); bool stop(); bool signal(int signo = SIGTERM); bool check(); - bool isListening(); + bool isListening() const; bool ensureListening(); bool wait(int flags = 0); bool tryWait(); string &drain(); - private: string binary; argv_t args; @@ -77,12 +87,11 @@ private: socket_or_port_t socket_or_port = 11211; string output; - [[nodiscard]] - vector createArgv(); + [[nodiscard]] vector createArgv(); optional handleArg(vector &arr, const string &arg, const arg_func_t &next_arg); }; -inline ostream &operator << (ostream &out, const socket_or_port_t sop) { +inline ostream &operator<<(ostream &out, const socket_or_port_t &sop) { if (holds_alternative(sop)) { out << get(sop); } else { @@ -91,7 +100,8 @@ inline ostream &operator << (ostream &out, const socket_or_port_t sop) { return out; } -inline ostream &operator << (ostream &out, const Server &server) { - out << "Server{binary=" << server.getBinary() << ",pid=" << server.getPid() << ",conn=" << server.getSocketOrPort() << "}"; +inline ostream &operator<<(ostream &out, const Server &server) { + out << "Server{binary=" << server.getBinary() << ",pid=" << server.getPid() + << ",conn=" << server.getSocketOrPort() << "}"; return out; }