aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/cpp/qps/client.h
diff options
context:
space:
mode:
authorGravatar vjpai <vpai@google.com>2015-06-02 10:26:52 -0700
committerGravatar vjpai <vpai@google.com>2015-06-02 10:26:52 -0700
commit924d459c271acb6cf940da8183bcb8eaacb6b662 (patch)
tree344e9b84fe979dab6e7887ed2a3588637a5677fc /test/cpp/qps/client.h
parent1795985322eb8b4e689c5e175d9d6937839f817c (diff)
Fix timer issues
Diffstat (limited to 'test/cpp/qps/client.h')
-rw-r--r--test/cpp/qps/client.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/test/cpp/qps/client.h b/test/cpp/qps/client.h
index 2b227ec909..dd37b88fb4 100644
--- a/test/cpp/qps/client.h
+++ b/test/cpp/qps/client.h
@@ -45,6 +45,9 @@
namespace grpc {
namespace testing {
+typedef std::chrono::system_clock grpc_time_source;
+typedef std::chrono::time_point<grpc_time_source> grpc_time;
+
class Client {
public:
explicit Client(const ClientConfig& config) : timer_(new Timer),
@@ -145,19 +148,18 @@ class Client {
interarrival_timer_.init(*random_dist, num_threads);
for (size_t i = 0; i<num_threads; i++) {
- next_time_.push_back(std::chrono::high_resolution_clock::now()
- + interarrival_timer_(i));
+ next_time_.push_back(grpc_time_source::now() +
+ std::chrono::duration_cast<grpc_time_source::duration>(interarrival_timer_(i)));
}
}
}
- template<class Timepoint>
- bool NextIssueTime(int thread_idx, Timepoint *time_delay) {
+ bool NextIssueTime(int thread_idx, grpc_time *time_delay) {
if (closed_loop_) {
return false;
}
else {
*time_delay = next_time_[thread_idx];
- next_time_[thread_idx] += interarrival_timer_(thread_idx);
+ next_time_[thread_idx] += std::chrono::duration_cast<grpc_time_source::duration>(interarrival_timer_(thread_idx));
return true;
}
}
@@ -226,8 +228,7 @@ class Client {
std::unique_ptr<Timer> timer_;
InterarrivalTimer interarrival_timer_;
- std::vector<std::chrono::time_point
- <std::chrono::high_resolution_clock>> next_time_;
+ std::vector<grpc_time> next_time_;
};
std::unique_ptr<Client> CreateSynchronousUnaryClient(const ClientConfig& args);