X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=testing%2Flib%2FMemcachedCluster.cpp;h=910aca3ce2ea3dab2a547ca5bd14d33ab7c89ab1;hb=b5ed9c3cab58f1a8e519d5551951ab8c25fc3b84;hp=40f2a963e1f1be0b68e25f89d966fc441e1d2169;hpb=42f32d1f7926663821f7a76a34584484f7a4b412;p=awesomized%2Flibmemcached diff --git a/testing/lib/MemcachedCluster.cpp b/testing/lib/MemcachedCluster.cpp index 40f2a963..910aca3c 100644 --- a/testing/lib/MemcachedCluster.cpp +++ b/testing/lib/MemcachedCluster.cpp @@ -34,7 +34,7 @@ void MemcachedCluster::flush() { MemcachedCluster::MemcachedCluster() : cluster{Server{ - getenv_else("MEMCACHED_BINARY", "memcached"), + MEMCACHED_BINARY, {random_socket_or_port_arg()} }} { @@ -42,25 +42,38 @@ MemcachedCluster::MemcachedCluster() } MemcachedCluster::MemcachedCluster(Cluster &&cluster_) -: cluster{forward(cluster_)} +: cluster{move(cluster_)} { init(); } +MemcachedCluster::MemcachedCluster(MemcachedCluster &&mc) + : cluster{Server{}} +{ + *this = move(mc); +} + +MemcachedCluster &MemcachedCluster::operator=(MemcachedCluster &&mc) { + cluster = move(mc.cluster); + memcached_clone(&memc, &mc.memc); + returns = ReturnMatcher{&memc}; + return *this; +} + MemcachedCluster MemcachedCluster::mixed() { return MemcachedCluster{}; } MemcachedCluster MemcachedCluster::network() { return MemcachedCluster{Cluster{Server{ - getenv_else("MEMCACHED_BINARY", "memcached"), + MEMCACHED_BINARY, {"-p", random_socket_or_port_string} }}}; } MemcachedCluster MemcachedCluster::socket() { return MemcachedCluster{Cluster{Server{ - getenv_else("MEMCACHED_BINARY", "memcached"), + MEMCACHED_BINARY, {"-s", random_socket_or_port_string} }}}; } @@ -69,3 +82,14 @@ void MemcachedCluster::enableBinaryProto(bool enable) { REQUIRE(MEMCACHED_SUCCESS == memcached_behavior_set(&memc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL, enable)); } + +void MemcachedCluster::enableBuffering(bool enable) { + REQUIRE(MEMCACHED_SUCCESS == memcached_behavior_set(&memc, + MEMCACHED_BEHAVIOR_BUFFER_REQUESTS, enable)); +} + +void MemcachedCluster::enableReplication() { + REQUIRE(MEMCACHED_SUCCESS == memcached_behavior_set(&memc, + MEMCACHED_BEHAVIOR_NUMBER_OF_REPLICAS, memcached_server_count(&memc))); +} +