From: Tomek Mrugalski Date: Fri, 15 May 2015 12:36:28 +0000 (+0200) Subject: [3793] Changes after review: X-Git-Tag: trac3513_base~5^2~1^2 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=fb7878a784bebc4c0b60196864f148d01ffaf4b3;p=thirdparty%2Fkea.git [3793] Changes after review: - Added rationale for ptimeToText, durationToText - Added missing headers - Removed the default values in addValue() - StatsDuration is now passed by reference --- diff --git a/src/lib/stats/observation.cc b/src/lib/stats/observation.cc index bfd88b320f..6b31a5c84e 100644 --- a/src/lib/stats/observation.cc +++ b/src/lib/stats/observation.cc @@ -36,7 +36,7 @@ Observation::Observation(const std::string& name, const double value) setValue(value); } -Observation::Observation(const std::string& name, const StatsDuration value) +Observation::Observation(const std::string& name, const StatsDuration& value) :name_(name), type_(STAT_DURATION) { setValue(value); } diff --git a/src/lib/stats/observation.h b/src/lib/stats/observation.h index 9dc7e09d45..0ba3b1892b 100644 --- a/src/lib/stats/observation.h +++ b/src/lib/stats/observation.h @@ -110,7 +110,7 @@ class Observation { /// /// @param name observation name /// @param value duration observed. - Observation(const std::string& name, const StatsDuration value); + Observation(const std::string& name, const StatsDuration& value); /// @brief Constructor for string observations /// @@ -146,25 +146,25 @@ class Observation { /// /// @param value integer value observed /// @throw InvalidStatType if statistic is not integer - void addValue(const uint64_t value = 1); + void addValue(const uint64_t value); /// @brief Records incremental floating point observation /// /// @param value floating point value observed /// @throw InvalidStatType if statistic is not fp - void addValue(const double value = 1.0f); + void addValue(const double value); /// @brief Records incremental duration observation /// /// @param value duration value observed /// @throw InvalidStatType if statistic is not time duration - void addValue(const StatsDuration& value = StatsDuration(0,0,1,0)); + void addValue(const StatsDuration& value); /// @brief Records incremental string observation. /// /// @param value string value observed /// @throw InvalidStatType if statistic is not a string - void addValue(const std::string& value = ""); + void addValue(const std::string& value); /// @brief Resets statistic. /// diff --git a/src/lib/util/boost_time_utils.cc b/src/lib/util/boost_time_utils.cc index feefc5c458..8fca836e4f 100644 --- a/src/lib/util/boost_time_utils.cc +++ b/src/lib/util/boost_time_utils.cc @@ -13,6 +13,8 @@ // PERFORMANCE OF THIS SOFTWARE. #include +#include +#include std::string isc::util::ptimeToText(boost::posix_time::ptime t) { diff --git a/src/lib/util/boost_time_utils.h b/src/lib/util/boost_time_utils.h index f8e7315585..df6be8cc6e 100644 --- a/src/lib/util/boost_time_utils.h +++ b/src/lib/util/boost_time_utils.h @@ -16,15 +16,31 @@ #define KEA_BOOST_TIME_UTILS_H #include +#include namespace isc { namespace util { /// @brief Converts ptime structure to text +/// +/// This is Kea implementation for converting ptime to strings. +/// It's a functional equivalent of boost::posix_time::to_simple_string. We do +/// not use it, though, because it would introduce unclear dependency on +/// boost_time_date library. First, we try to avoid depending on boost libraries +/// (we tend to use only the headers). Second, this dependency is system +/// specific, i.e. it is required on Ubuntu and FreeBSD, but doesn't seem to +/// be needed on OS X. Since the functionality needed is minor, we decided to +/// reimplement it on our own, rather than introduce extra dependencies. +/// This explanation also applies to @ref durationToText. +/// /// @return a string representing time std::string ptimeToText(boost::posix_time::ptime t); /// @brief Converts StatsDuration to text +/// +/// This is Kea equivalent of boost::posix_time::to_simple_string(time_duration). +/// See @ref ptimeToText for explanation why we chose our own implementation. +/// /// @return a string representing time std::string durationToText(boost::posix_time::time_duration dur);