testing: memstat --analyze=latency
[m6w6/libmemcached] / test / lib / MemcachedCluster.hpp
index 39859b7d90aee4e9bd162ba305a84210a10abf42..0a4dcb6bc0a2b08ac3c57b71029174200599c210 100644 (file)
@@ -7,35 +7,42 @@
 
 class MemcachedCluster {
 public:
+  using behavior_t = pair<memcached_behavior_t, uint64_t>;
+  using behaviors_t = vector<behavior_t>;
+
   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(MemcachedCluster &&mc);
   MemcachedCluster &operator=(MemcachedCluster &&mc);
 
   void enableBinaryProto(bool enable = true);
   void enableBuffering(bool enable = true);
   void enableReplication();
+  void enableUdp(bool enable = true);
   void flush();
 
   static MemcachedCluster mixed();
   static MemcachedCluster network();
   static MemcachedCluster socket();
+  static MemcachedCluster udp();
 
 #if LIBMEMCACHED_WITH_SASL_SUPPORT
   static MemcachedCluster sasl();
 #endif
 
+  void killOneServer();
+
 private:
+  behaviors_t to_set;
   static const memcached_st empty_memc;
 
   void init();