]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
include/util.h: allow testing encoding/decoding of ceph_data_stats
authorJoao Eduardo Luis <joao@redhat.com>
Mon, 26 Jan 2015 12:58:24 +0000 (12:58 +0000)
committerJoao Eduardo Luis <jecluis@gmail.com>
Sun, 1 Mar 2015 10:11:24 +0000 (10:11 +0000)
Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
src/include/util.h

index 7801d0654c467a1350e6f67d5b9db1f0be5a37a9..87f64999c6df8f87e8f2724c74125e4e5ecbb077 100644 (file)
@@ -44,6 +44,33 @@ struct ceph_data_stats
     f->dump_int("avail", byte_avail);
     f->dump_int("avail_percent", avail_percent);
   }
+
+  void encode(bufferlist &bl) const {
+    ENCODE_START(1, 1, bl);
+    ::encode(byte_total, bl);
+    ::encode(byte_used, bl);
+    ::encode(byte_avail, bl);
+    ::encode(avail_percent, bl);
+    ENCODE_FINISH(bl);
+  }
+
+  void decode(bufferlist::iterator &p) {
+    DECODE_START(1, p);
+    ::decode(byte_total, p);
+    ::decode(byte_used, p);
+    ::decode(byte_avail, p);
+    ::decode(avail_percent, p);
+    DECODE_FINISH(p);
+  }
+
+  static void generate_test_instances(list<ceph_data_stats*>& ls) {
+    ls.push_back(new ceph_data_stats);
+    ls.push_back(new ceph_data_stats);
+    ls.back()->byte_total = 1024*1024;
+    ls.back()->byte_used = 512*1024;
+    ls.back()->byte_avail = 512*1024;
+    ls.back()->avail_percent = 50;
+  }
 };
 typedef struct ceph_data_stats ceph_data_stats_t;