std::chrono'ize EventBase::setLoadAvgMsec
authorChristopher Dykes <cdykes@fb.com>
Fri, 6 Jan 2017 22:00:46 +0000 (14:00 -0800)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Fri, 6 Jan 2017 22:03:03 +0000 (14:03 -0800)
Summary: Modernization is good.

Reviewed By: yfeldblum

Differential Revision: D4377612

fbshipit-source-id: adb03d8a92f25c8a792c8e7240a93ab20180b038

folly/io/async/EventBase.cpp
folly/io/async/EventBase.h
folly/io/async/test/EventBaseTest.cpp

index 9605b5c7b92194563ab894f51faee6aae0d6cf07..24883d9b96a2f387439ccaa46265ef7d3239f4c8 100644 (file)
@@ -205,10 +205,10 @@ void EventBase::setMaxReadAtOnce(uint32_t maxAtOnce) {
 
 // Set smoothing coefficient for loop load average; input is # of milliseconds
 // for exp(-1) decay.
-void EventBase::setLoadAvgMsec(uint32_t ms) {
+void EventBase::setLoadAvgMsec(std::chrono::milliseconds ms) {
   assert(enableTimeMeasurement_);
   std::chrono::microseconds us = std::chrono::milliseconds(ms);
-  if (ms > 0) {
+  if (ms > std::chrono::milliseconds::zero()) {
     maxLatencyLoopTime_.setTimeInterval(us);
     avgLoopTime_.setTimeInterval(us);
   } else {
index cf7311df9c1cd3c1eb102b5a11f8c0937166283f..4799ee2e8debebbcec27e7f0083256bfffaf3b26 100644 (file)
@@ -447,7 +447,7 @@ class EventBase : private boost::noncopyable,
    * Set smoothing coefficient for loop load average; # of milliseconds
    * for exp(-1) (1/2.71828...) decay.
    */
-  void setLoadAvgMsec(uint32_t ms);
+  void setLoadAvgMsec(std::chrono::milliseconds ms);
 
   /**
    * reset the load average to a desired value
index 1ca9d2d25e98fd5bb49e63663ed4f3f0f38873cb..b952640feea43e0b8b72c0038267c58858768a63 100644 (file)
@@ -47,6 +47,8 @@ using std::chrono::milliseconds;
 using std::chrono::microseconds;
 using std::chrono::duration_cast;
 
+using namespace std::chrono_literals;
+
 using namespace folly;
 
 ///////////////////////////////////////////////////////////////////////////
@@ -1563,7 +1565,7 @@ class IdleTimeTimeoutSeries : public AsyncTimeout {
  */
 TEST(EventBaseTest, IdleTime) {
   EventBase eventBase;
-  eventBase.setLoadAvgMsec(1000);
+  eventBase.setLoadAvgMsec(1000ms);
   eventBase.resetLoadAvg(5900.0);
   std::deque<uint64_t> timeouts0(4, 8080);
   timeouts0.push_front(8000);