]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
include/uuid: convert to denc
authorSamuel Just <sjust@redhat.com>
Thu, 5 Nov 2020 22:14:04 +0000 (14:14 -0800)
committerSamuel Just <sjust@redhat.com>
Fri, 11 Dec 2020 21:31:39 +0000 (13:31 -0800)
Signed-off-by: Samuel Just <sjust@redhat.com>
src/include/uuid.h

index 091a0c049cb5e0ac3b008e119c500a6a2a6e2b09..b72c177eb3742953f672d50397e37eb256724282 100644 (file)
@@ -59,18 +59,23 @@ struct uuid_d {
     return (char*)uuid.data;
   }
 
-  void encode(ceph::buffer::list& bl) const {
-    ceph::encode_raw(uuid, bl);
+  void encode(::ceph::buffer::list::contiguous_appender& p) const {
+    p.append(reinterpret_cast<const char *>(&uuid), sizeof(uuid));
   }
 
-  void decode(ceph::buffer::list::const_iterator& p) const {
-    ceph::decode_raw(uuid, p);
+  void bound_encode(size_t& p) const {
+    p += sizeof(uuid);
+  }
+
+  void decode(::ceph::buffer::ptr::const_iterator& p) {
+    assert((p.get_end() - p.get_pos()) >= (int)sizeof(*this));
+    memcpy((char *)this, p.get_pos_add(sizeof(*this)), sizeof(*this));
   }
 
   void dump(ceph::Formatter *f) const;
   static void generate_test_instances(std::list<uuid_d*>& o);
 };
-WRITE_CLASS_ENCODER(uuid_d)
+WRITE_CLASS_DENC_BOUNDED(uuid_d)
 
 inline std::ostream& operator<<(std::ostream& out, const uuid_d& u) {
   char b[37];