diff --git a/source/dataman/DataMan.cpp b/source/dataman/DataMan.cpp index 5d8f446a4bc8002f797ddaacb8093bff706654f5..9e2b237bf3294ad3464ccdde5d7f62ed17534708 100644 --- a/source/dataman/DataMan.cpp +++ b/source/dataman/DataMan.cpp @@ -61,7 +61,10 @@ void DataMan::add_stream(json p_jmsg) man->init(p_jmsg); this->add_next(method, man); } - add_man_to_path("zfp", method); + if (p_jmsg["compress_method"] != nullptr) + { + add_man_to_path(p_jmsg["compress_method"], method); + } } void DataMan::flush() { flush_next(); } diff --git a/source/dataman/DataManBase.cpp b/source/dataman/DataManBase.cpp index feb55a86b829b694370395094269da6f02141208..b7ab6827146f5659672e2840ae57712d7ccfd290 100644 --- a/source/dataman/DataManBase.cpp +++ b/source/dataman/DataManBase.cpp @@ -152,8 +152,10 @@ int DataManBase::put_end(const void *p_data, json &p_jmsg) m_profiling["manager_mbs"] = m_profiling["total_mb"].get<double>() / m_profiling["total_manager_time"].get<double>(); - if (p_jmsg["compressed_size"] != nullptr) + if (p_jmsg["compressed_size"].is_number()) p_jmsg["putbytes"] = p_jmsg["compressed_size"].get<size_t>(); + else + p_jmsg.erase("compressed_size"); put_next(p_data, p_jmsg); return 0; }