MemcachedCluster::MemcachedCluster()
: cluster{Server{
- getenv_else("MEMCACHED_BINARY", "memcached"),
+ MEMCACHED_BINARY,
{random_socket_or_port_arg()}
}}
{
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}
}}};
}
MEMCACHED_BEHAVIOR_BINARY_PROTOCOL, enable));
}
-MemcachedCluster::MemcachedCluster(MemcachedCluster &&mc)
- : cluster{Server{}}
-{
- *this = move(mc);
+void MemcachedCluster::enableBuffering(bool enable) {
+ REQUIRE(MEMCACHED_SUCCESS == memcached_behavior_set(&memc,
+ MEMCACHED_BEHAVIOR_BUFFER_REQUESTS, enable));
}
-MemcachedCluster &MemcachedCluster::operator=(MemcachedCluster &&mc) {
- cluster = move(mc.cluster);
- memcached_clone(&memc, &mc.memc);
- returns = ReturnMatcher{&memc};
- return *this;
+void MemcachedCluster::enableReplication() {
+ REQUIRE(MEMCACHED_SUCCESS == memcached_behavior_set(&memc,
+ MEMCACHED_BEHAVIOR_NUMBER_OF_REPLICAS, memcached_server_count(&memc)));
}
+