travis: fix clang
[awesomized/libmemcached] / testing / lib / MemcachedCluster.cpp
index 40f2a963e1f1be0b68e25f89d966fc441e1d2169..910aca3ce2ea3dab2a547ca5bd14d33ab7c89ab1 100644 (file)
@@ -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_)}
+: 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)));
+}
+