X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Ftest%2Fencoding%2Ftest_ceph_time.h;fp=src%2Fceph%2Fsrc%2Ftest%2Fencoding%2Ftest_ceph_time.h;h=722d29bf1ea1486f6215eb44eaae794606ded480;hb=812ff6ca9fcd3e629e49d4328905f33eee8ca3f5;hp=0000000000000000000000000000000000000000;hpb=15280273faafb77777eab341909a3f495cf248d9;p=stor4nfv.git diff --git a/src/ceph/src/test/encoding/test_ceph_time.h b/src/ceph/src/test/encoding/test_ceph_time.h new file mode 100644 index 0000000..722d29b --- /dev/null +++ b/src/ceph/src/test/encoding/test_ceph_time.h @@ -0,0 +1,31 @@ +#ifndef TEST_CEPH_TIME_H +#define TEST_CEPH_TIME_H + +#include +#include "common/ceph_time.h" + +// wrapper for ceph::real_time that implements the dencoder interface +class real_time_wrapper { + ceph::real_time t; + public: + real_time_wrapper() = default; + real_time_wrapper(const ceph::real_time& t) : t(t) {} + + void encode(bufferlist& bl) const { + ::encode(t, bl); + } + void decode(bufferlist::iterator &p) { + ::decode(t, p); + } + void dump(Formatter* f) { + auto epoch_time = ceph::real_clock::to_time_t(t); + f->dump_string("time", std::ctime(&epoch_time)); + } + static void generate_test_instances(std::list& ls) { + constexpr time_t t{455500800}; // Ghostbusters release date + ls.push_back(new real_time_wrapper(ceph::real_clock::from_time_t(t))); + } +}; +WRITE_CLASS_ENCODER(real_time_wrapper) + +#endif