xxHash/xxhash.c
include/invoke_date.cc
include/utime.cc
+ include/uuid.cc
common/error_code.cc
common/tracer.cc
log/Log.cc
${PROJECT_SOURCE_DIR}/src/global/global_context.cc
${PROJECT_SOURCE_DIR}/src/global/pidfile.cc
${PROJECT_SOURCE_DIR}/src/include/utime.cc
+ ${PROJECT_SOURCE_DIR}/src/include/uuid.cc
${PROJECT_SOURCE_DIR}/src/librbd/Features.cc
${PROJECT_SOURCE_DIR}/src/librbd/io/IoOperations.cc
${PROJECT_SOURCE_DIR}/src/mgr/ServiceMap.cc
*/
#include "uuid.h"
+#include "random.h"
#include "common/Formatter.h"
+#include <boost/uuid/random_generator.hpp>
+#include <boost/uuid/string_generator.hpp>
+#include <boost/uuid/uuid_io.hpp>
+
+#include <random>
+
+void uuid_d::generate_random() {
+ random_device_t rng;
+ boost::uuids::basic_random_generator gen(rng);
+ uuid = gen();
+}
+
+bool uuid_d::parse(const char *s) {
+ try {
+ boost::uuids::string_generator gen;
+ uuid = gen(s);
+ return true;
+ } catch (std::runtime_error& e) {
+ return false;
+ }
+}
+
+void uuid_d::print(char *s) const {
+ memcpy(s, boost::uuids::to_string(uuid).c_str(), 37);
+}
+
+std::string uuid_d::to_string() const {
+ return boost::uuids::to_string(uuid);
+}
+
void uuid_d::dump(ceph::Formatter *f) const
{
f->dump_stream("uuid") << to_string();
*/
#include "encoding.h"
-#include "random.h"
#include <ostream>
-#include <random>
#include <boost/uuid/uuid.hpp>
-#include <boost/uuid/uuid_generators.hpp>
-#include <boost/uuid/uuid_io.hpp>
+#include <boost/uuid/nil_generator.hpp>
#include <boost/version.hpp>
+#include <fmt/core.h> // for FMT_VERSION
#if FMT_VERSION >= 90000
#include <fmt/ostream.h>
#endif
return uuid.is_nil();
}
- void generate_random() {
- random_device_t rng;
- boost::uuids::basic_random_generator gen(rng);
- uuid = gen();
- }
+ void generate_random();
- bool parse(const char *s) {
- try {
- boost::uuids::string_generator gen;
- uuid = gen(s);
- return true;
- } catch (std::runtime_error& e) {
- return false;
- }
- }
- void print(char *s) const {
- memcpy(s, boost::uuids::to_string(uuid).c_str(), 37);
- }
+ bool parse(const char *s);
+ void print(char *s) const;
- std::string to_string() const {
- return boost::uuids::to_string(uuid);
- }
+ std::string to_string() const;
const char *bytes() const {
#if BOOST_VERSION >= 108600
set(dencoder_srcs
ceph_dencoder.cc
- ../../include/uuid.cc
$<TARGET_OBJECTS:common_texttable_obj>)
add_executable(ceph-dencoder ${dencoder_srcs})
set_target_properties(ceph-dencoder PROPERTIES
endfunction()
add_denc_mod(denc-mod-common
- ../../include/uuid.cc
common_types.cc)
target_link_libraries(denc-mod-common
ceph-common