@ -43,6 +43,7 @@
# include <grpc/support/alloc.h>
# include <grpc/support/host_port.h>
# include <grpc/support/log.h>
# include <gtest/gtest.h>
# include "src/core/support/env.h"
# include "src/proto/grpc/testing/services.grpc.pb.h"
@ -120,11 +121,9 @@ static deque<string> get_workers(const string& name) {
namespace runsc {
// ClientContext allocator
template < class T >
static ClientContext * AllocContext ( list < ClientContext > * contexts , T deadline ) {
static ClientContext * AllocContext ( list < ClientContext > * contexts ) {
contexts - > emplace_back ( ) ;
auto context = & contexts - > back ( ) ;
context - > set_deadline ( deadline ) ;
return context ;
}
@ -196,9 +195,6 @@ std::unique_ptr<ScenarioResult> RunScenario(
// Trim to just what we need
workers . resize ( num_clients + num_servers ) ;
gpr_timespec deadline =
GRPC_TIMEOUT_SECONDS_TO_DEADLINE ( warmup_seconds + benchmark_seconds + 20 ) ;
// Start servers
using runsc : : ServerData ;
// servers is array rather than std::vector to avoid gcc-4.4 issues
@ -248,7 +244,7 @@ std::unique_ptr<ScenarioResult> RunScenario(
ServerArgs args ;
* args . mutable_setup ( ) = server_config ;
servers [ i ] . stream =
servers [ i ] . stub - > RunServer ( runsc : : AllocContext ( & contexts , deadline ) ) ;
servers [ i ] . stub - > RunServer ( runsc : : AllocContext ( & contexts ) ) ;
GPR_ASSERT ( servers [ i ] . stream - > Write ( args ) ) ;
ServerStatus init_status ;
GPR_ASSERT ( servers [ i ] . stream - > Read ( & init_status ) ) ;
@ -304,7 +300,7 @@ std::unique_ptr<ScenarioResult> RunScenario(
ClientArgs args ;
* args . mutable_setup ( ) = per_client_config ;
clients [ i ] . stream =
clients [ i ] . stub - > RunClient ( runsc : : AllocContext ( & contexts , deadline ) ) ;
clients [ i ] . stub - > RunClient ( runsc : : AllocContext ( & contexts ) ) ;
GPR_ASSERT ( clients [ i ] . stream - > Write ( args ) ) ;
ClientStatus init_status ;
GPR_ASSERT ( clients [ i ] . stream - > Read ( & init_status ) ) ;
@ -342,7 +338,8 @@ std::unique_ptr<ScenarioResult> RunScenario(
// Use gpr_sleep_until rather than this_thread::sleep_until to support
// compilers that don't work with this_thread
gpr_sleep_until ( gpr_time_add (
start , gpr_time_from_seconds ( benchmark_seconds , GPR_TIMESPAN ) ) ) ;
start , gpr_time_from_seconds ( warmup_seconds + benchmark_seconds ,
GPR_TIMESPAN ) ) ) ;
// Finish a run
std : : unique_ptr < ScenarioResult > result ( new ScenarioResult ) ;
@ -391,7 +388,7 @@ void RunQuit() {
// Get client, server lists
auto workers = get_workers ( " QPS_WORKERS " ) ;
for ( size_t i = 0 ; i < workers . size ( ) ; i + + ) {
auto stub = WorkerService : : NewStub (
g auto stub = WorkerService : : NewStub (
CreateChannel ( workers [ i ] , InsecureChannelCredentials ( ) ) ) ;
Void dummy ;
grpc : : ClientContext ctx ;