From c9c5235ef7d563b92f44dab63a8ac2b694e69d4f Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 14 Sep 2016 13:32:20 -0400 Subject: [PATCH] include/object: conditional denc_traits for snapid_t Signed-off-by: Sage Weil --- src/include/object.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/include/object.h b/src/include/object.h index 74a011b961a..4532b789c37 100644 --- a/src/include/object.h +++ b/src/include/object.h @@ -122,6 +122,22 @@ struct snapid_t { inline void encode(snapid_t i, bufferlist &bl) { encode(i.val, bl); } inline void decode(snapid_t &i, bufferlist::iterator &p) { decode(i.val, p); } +template<> +struct denc_traits { + enum { supported = 2 }; + enum { featured = false }; + enum { bounded = true }; + static void bound_encode(const snapid_t o, size_t& p) { + denc(o.val, p); + } + static void encode(const snapid_t &o, buffer::list::contiguous_appender& p) { + denc(o.val, p); + } + static void decode(snapid_t& o, buffer::ptr::iterator &p) { + denc(o.val, p); + } +}; + inline ostream& operator<<(ostream& out, snapid_t s) { if (s == CEPH_NOSNAP) return out << "head"; -- 2.39.5