From 72a0667330b836cf9b7cf6d379450af251308a14 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Thu, 5 Nov 2020 14:14:04 -0800 Subject: [PATCH] include/uuid: convert to denc Signed-off-by: Samuel Just --- src/include/uuid.h | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/include/uuid.h b/src/include/uuid.h index 091a0c049cb..b72c177eb37 100644 --- a/src/include/uuid.h +++ b/src/include/uuid.h @@ -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(&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& 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];