X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=test%2Flib%2FMemcachedCluster.hpp;h=dcda9ddd72afb30744ac70acd939ac0bad4b84b6;hb=e150c434456316ce9f071565052d12c5396a8ab7;hp=39859b7d90aee4e9bd162ba305a84210a10abf42;hpb=9f262c9ea92d4869715ca6f534c80075a8310ac1;p=awesomized%2Flibmemcached diff --git a/test/lib/MemcachedCluster.hpp b/test/lib/MemcachedCluster.hpp index 39859b7d..dcda9ddd 100644 --- a/test/lib/MemcachedCluster.hpp +++ b/test/lib/MemcachedCluster.hpp @@ -1,26 +1,42 @@ +/* + +--------------------------------------------------------------------+ + | 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); @@ -30,12 +46,16 @@ public: static MemcachedCluster mixed(); static MemcachedCluster network(); static MemcachedCluster socket(); + static MemcachedCluster udp(); #if LIBMEMCACHED_WITH_SASL_SUPPORT static MemcachedCluster sasl(); #endif + void killOneServer() const; + private: + behaviors_t to_set; static const memcached_st empty_memc; void init();