X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=test%2Flib%2FMemcachedCluster.hpp;h=dcda9ddd72afb30744ac70acd939ac0bad4b84b6;hb=4debceb95ebab23b83c7ebcf153bb321d16b4d52;hp=8e4385808a766ac32533650a0fdf7fe077127217;hpb=e9b1c46e3490e2940ec36cfa53ffcee5945a27d2;p=awesomized%2Flibmemcached diff --git a/test/lib/MemcachedCluster.hpp b/test/lib/MemcachedCluster.hpp index 8e438580..dcda9ddd 100644 --- a/test/lib/MemcachedCluster.hpp +++ b/test/lib/MemcachedCluster.hpp @@ -1,31 +1,46 @@ +/* + +--------------------------------------------------------------------+ + | 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" #include "Cluster.hpp" #include "ReturnMatcher.hpp" - class MemcachedCluster { public: + using behavior_t = pair; + using behaviors_t = vector; + Cluster cluster; memcached_st memc{empty_memc}; ReturnMatcher returns{&memc}; MemcachedCluster(); - explicit - MemcachedCluster(Cluster &&cluster); + explicit MemcachedCluster(Cluster &&cluster, behaviors_t to_set = {}); ~MemcachedCluster(); MemcachedCluster(const MemcachedCluster &) = delete; MemcachedCluster &operator=(const MemcachedCluster &) = delete; - MemcachedCluster(MemcachedCluster &&mc);; - MemcachedCluster &operator=(MemcachedCluster &&mc); + MemcachedCluster(MemcachedCluster &&mc) noexcept; + MemcachedCluster &operator=(MemcachedCluster &&mc) noexcept; void enableBinaryProto(bool enable = true); void enableBuffering(bool enable = true); void enableReplication(); - void enableUdp(bool enable = true); void flush(); static MemcachedCluster mixed(); @@ -37,7 +52,10 @@ public: static MemcachedCluster sasl(); #endif + void killOneServer() const; + private: + behaviors_t to_set; static const memcached_st empty_memc; void init();