OSDN Git Service

Move the Stopwatch class to NetdConstants.
authorLorenzo Colitti <lorenzo@google.com>
Fri, 15 Apr 2016 01:22:37 +0000 (10:22 +0900)
committerLorenzo Colitti <lorenzo@google.com>
Fri, 15 Apr 2016 04:50:51 +0000 (13:50 +0900)
Also implement TimedOperation by subclassing Stopwatch, since
it essentially does the same thing.

Change-Id: I68febcf1caa8a00b548790f9e3ccc10836877639

server/NetdConstants.h
server/SockDiag.cpp
tests/binder_test.cpp

index 1d8ae34..e3f533a 100644 (file)
@@ -20,6 +20,9 @@
 #include <string>
 #include <list>
 #include <stdarg.h>
+
+#include <chrono>
+
 #include <private/android_filesystem_config.h>
 
 #include "utils/RWLock.h"
@@ -55,6 +58,21 @@ int parsePrefix(const char *prefix, uint8_t *family, void *address, int size, ui
 
 const uid_t INVALID_UID = static_cast<uid_t>(-1);
 
+class Stopwatch {
+public:
+    Stopwatch() : mStart(std::chrono::steady_clock::now()) {}
+    virtual ~Stopwatch() {};
+
+    float timeTaken() const {
+        using ms = std::chrono::duration<float, std::ratio<1, 1000>>;
+        return (std::chrono::duration_cast<ms>(
+                std::chrono::steady_clock::now() - mStart)).count();
+    }
+
+private:
+    std::chrono::time_point<std::chrono::steady_clock> mStart;
+};
+
 namespace android {
 namespace net {
 
index 6a39997..48b8eae 100644 (file)
@@ -48,20 +48,6 @@ struct AddrinfoDeleter {
 
 typedef std::unique_ptr<addrinfo, AddrinfoDeleter> ScopedAddrinfo;
 
-class Stopwatch {
-public:
-    Stopwatch(): mStart(std::chrono::steady_clock::now()) {}
-    float timeTaken() {
-        using ms = std::chrono::duration<float, std::ratio<1, 1000>>;
-        return (std::chrono::duration_cast<ms>(
-                std::chrono::steady_clock::now() - mStart)).count();
-    }
-
-private:
-    std::chrono::time_point<std::chrono::steady_clock> mStart;
-    std::string mName;
-};
-
 int checkError(int fd) {
     struct {
         nlmsghdr h;
index defe875..bc9cf88 100644 (file)
@@ -55,17 +55,14 @@ protected:
 };
 
 
-class TimedOperation {
+class TimedOperation : public Stopwatch {
 public:
-    TimedOperation(std::string name): mStart(std::chrono::steady_clock::now()), mName(name) {}
+    TimedOperation(std::string name): mName(name) {}
     virtual ~TimedOperation() {
-        using ms = std::chrono::duration<float, std::ratio<1, 1000>>;
-        fprintf(stderr, "    %s: %6.1f ms\n", mName.c_str(),
-                std::chrono::duration_cast<ms>(std::chrono::steady_clock::now() - mStart).count());
+        fprintf(stderr, "    %s: %6.1f ms\n", mName.c_str(), timeTaken());
     }
 
 private:
-    std::chrono::time_point<std::chrono::steady_clock> mStart;
     std::string mName;
 };