Merge pull request #1123 from vjpai/range_based_for_removal

Eliminate range-based for loops
pull/1134/head^2
Nicolas Noble 10 years ago
commit ad0dd6972d
  1. 22
      src/compiler/python_generator.cc
  2. 2
      src/cpp/common/call.cc
  3. 9
      src/cpp/server/secure_server_credentials.cc
  4. 4
      src/cpp/server/server.cc
  5. 18
      src/cpp/server/server_builder.cc
  6. 4
      src/cpp/server/thread_pool.cc
  7. 4
      test/cpp/end2end/generic_end2end_test.cc
  8. 11
      test/cpp/qps/client_async.cc
  9. 44
      test/cpp/qps/driver.cc
  10. 4
      test/cpp/qps/server_async.cc
  11. 4
      test/cpp/qps/stats.h

@ -309,17 +309,20 @@ bool PrintServerFactory(const grpc::string& package_qualified_service_name,
make_pair(method->name(), output_message_module_and_class)); make_pair(method->name(), output_message_module_and_class));
} }
out->Print("method_service_descriptions = {\n"); out->Print("method_service_descriptions = {\n");
for (auto& name_and_description_constructor : for (auto name_and_description_constructor =
method_description_constructors) { method_description_constructors.begin();
name_and_description_constructor !=
method_description_constructors.end();
name_and_description_constructor++) {
IndentScope raii_descriptions_indent(out); IndentScope raii_descriptions_indent(out);
const grpc::string method_name = name_and_description_constructor.first; const grpc::string method_name = name_and_description_constructor->first;
auto input_message_module_and_class = auto input_message_module_and_class =
input_message_modules_and_classes.find(method_name); input_message_modules_and_classes.find(method_name);
auto output_message_module_and_class = auto output_message_module_and_class =
output_message_modules_and_classes.find(method_name); output_message_modules_and_classes.find(method_name);
out->Print("\"$Method$\": utilities.$Constructor$(\n", "Method", out->Print("\"$Method$\": utilities.$Constructor$(\n", "Method",
method_name, "Constructor", method_name, "Constructor",
name_and_description_constructor.second); name_and_description_constructor->second);
{ {
IndentScope raii_description_arguments_indent(out); IndentScope raii_description_arguments_indent(out);
out->Print("servicer.$Method$,\n", "Method", method_name); out->Print("servicer.$Method$,\n", "Method", method_name);
@ -387,17 +390,20 @@ bool PrintStubFactory(const grpc::string& package_qualified_service_name,
make_pair(method->name(), output_message_module_and_class)); make_pair(method->name(), output_message_module_and_class));
} }
out->Print("method_invocation_descriptions = {\n"); out->Print("method_invocation_descriptions = {\n");
for (auto& name_and_description_constructor : for (auto name_and_description_constructor =
method_description_constructors) { method_description_constructors.begin();
name_and_description_constructor !=
method_description_constructors.end();
name_and_description_constructor++) {
IndentScope raii_descriptions_indent(out); IndentScope raii_descriptions_indent(out);
const grpc::string method_name = name_and_description_constructor.first; const grpc::string method_name = name_and_description_constructor->first;
auto input_message_module_and_class = auto input_message_module_and_class =
input_message_modules_and_classes.find(method_name); input_message_modules_and_classes.find(method_name);
auto output_message_module_and_class = auto output_message_module_and_class =
output_message_modules_and_classes.find(method_name); output_message_modules_and_classes.find(method_name);
out->Print("\"$Method$\": utilities.$Constructor$(\n", "Method", out->Print("\"$Method$\": utilities.$Constructor$(\n", "Method",
method_name, "Constructor", method_name, "Constructor",
name_and_description_constructor.second); name_and_description_constructor->second);
{ {
IndentScope raii_description_arguments_indent(out); IndentScope raii_description_arguments_indent(out);
out->Print( out->Print(

@ -148,7 +148,7 @@ void FillMetadataMap(grpc_metadata_array* arr,
// TODO(yangg) handle duplicates? // TODO(yangg) handle duplicates?
metadata->insert(std::pair<grpc::string, grpc::string>( metadata->insert(std::pair<grpc::string, grpc::string>(
arr->metadata[i].key, arr->metadata[i].key,
{arr->metadata[i].value, arr->metadata[i].value_length})); grpc::string(arr->metadata[i].value, arr->metadata[i].value_length)));
} }
grpc_metadata_array_destroy(arr); grpc_metadata_array_destroy(arr);
grpc_metadata_array_init(arr); grpc_metadata_array_init(arr);

@ -59,9 +59,12 @@ class SecureServerCredentials GRPC_FINAL : public ServerCredentials {
std::shared_ptr<ServerCredentials> SslServerCredentials( std::shared_ptr<ServerCredentials> SslServerCredentials(
const SslServerCredentialsOptions& options) { const SslServerCredentialsOptions& options) {
std::vector<grpc_ssl_pem_key_cert_pair> pem_key_cert_pairs; std::vector<grpc_ssl_pem_key_cert_pair> pem_key_cert_pairs;
for (const auto& key_cert_pair : options.pem_key_cert_pairs) { for (auto key_cert_pair = options.pem_key_cert_pairs.begin();
pem_key_cert_pairs.push_back( key_cert_pair != options.pem_key_cert_pairs.end();
{key_cert_pair.private_key.c_str(), key_cert_pair.cert_chain.c_str()}); key_cert_pair++) {
grpc_ssl_pem_key_cert_pair p = {key_cert_pair->private_key.c_str(),
key_cert_pair->cert_chain.c_str()};
pem_key_cert_pairs.push_back(p);
} }
grpc_server_credentials* c_creds = grpc_ssl_server_credentials_create( grpc_server_credentials* c_creds = grpc_ssl_server_credentials_create(
options.pem_root_certs.empty() ? nullptr : options.pem_root_certs.c_str(), options.pem_root_certs.empty() ? nullptr : options.pem_root_certs.c_str(),

@ -247,8 +247,8 @@ bool Server::Start() {
// Start processing rpcs. // Start processing rpcs.
if (!sync_methods_.empty()) { if (!sync_methods_.empty()) {
for (auto& m : sync_methods_) { for (auto m = sync_methods_.begin(); m != sync_methods_.end(); m++) {
m.Request(server_); m->Request(server_);
} }
ScheduleCallback(); ScheduleCallback();

@ -86,24 +86,26 @@ std::unique_ptr<Server> ServerBuilder::BuildAndStart() {
thread_pool_owned = true; thread_pool_owned = true;
} }
std::unique_ptr<Server> server(new Server(thread_pool_, thread_pool_owned)); std::unique_ptr<Server> server(new Server(thread_pool_, thread_pool_owned));
for (auto* service : services_) { for (auto service = services_.begin(); service != services_.end();
if (!server->RegisterService(service)) { service++) {
if (!server->RegisterService(*service)) {
return nullptr; return nullptr;
} }
} }
for (auto* service : async_services_) { for (auto service = async_services_.begin();
if (!server->RegisterAsyncService(service)) { service != async_services_.end(); service++) {
if (!server->RegisterAsyncService(*service)) {
return nullptr; return nullptr;
} }
} }
if (generic_service_) { if (generic_service_) {
server->RegisterAsyncGenericService(generic_service_); server->RegisterAsyncGenericService(generic_service_);
} }
for (auto& port : ports_) { for (auto port = ports_.begin(); port != ports_.end(); port++) {
int r = server->AddListeningPort(port.addr, port.creds.get()); int r = server->AddListeningPort(port->addr, port->creds.get());
if (!r) return nullptr; if (!r) return nullptr;
if (port.selected_port != nullptr) { if (port->selected_port != nullptr) {
*port.selected_port = r; *port->selected_port = r;
} }
} }
if (!server->Start()) { if (!server->Start()) {

@ -66,8 +66,8 @@ ThreadPool::~ThreadPool() {
shutdown_ = true; shutdown_ = true;
cv_.notify_all(); cv_.notify_all();
} }
for (auto& t : threads_) { for (auto t = threads_.begin(); t != threads_.end(); t++) {
t.join(); t->join();
} }
} }

@ -83,8 +83,8 @@ bool ParseFromByteBuffer(ByteBuffer* buffer, grpc::protobuf::Message* message) {
buffer->Dump(&slices); buffer->Dump(&slices);
grpc::string buf; grpc::string buf;
buf.reserve(buffer->Length()); buf.reserve(buffer->Length());
for (const Slice& s : slices) { for (auto s = slices.begin(); s != slices.end(); s++) {
buf.append(reinterpret_cast<const char*>(s.begin()), s.size()); buf.append(reinterpret_cast<const char*>(s->begin()), s->size());
} }
return message->ParseFromString(buf); return message->ParseFromString(buf);
} }

@ -144,7 +144,8 @@ class AsyncClient GRPC_FINAL : public Client {
int t = 0; int t = 0;
for (int i = 0; i < config.outstanding_rpcs_per_channel(); i++) { for (int i = 0; i < config.outstanding_rpcs_per_channel(); i++) {
for (auto& channel : channels_) { for (auto channel = channels_.begin(); channel != channels_.end();
channel++) {
auto* cq = cli_cqs_[t].get(); auto* cq = cli_cqs_[t].get();
t = (t + 1) % cli_cqs_.size(); t = (t + 1) % cli_cqs_.size();
auto start_req = [cq](TestService::Stub* stub, grpc::ClientContext* ctx, auto start_req = [cq](TestService::Stub* stub, grpc::ClientContext* ctx,
@ -152,7 +153,7 @@ class AsyncClient GRPC_FINAL : public Client {
return stub->AsyncUnaryCall(ctx, request, cq, tag); return stub->AsyncUnaryCall(ctx, request, cq, tag);
}; };
TestService::Stub* stub = channel.get_stub(); TestService::Stub* stub = channel->get_stub();
const SimpleRequest& request = request_; const SimpleRequest& request = request_;
new ClientRpcContextUnaryImpl<SimpleRequest, SimpleResponse>( new ClientRpcContextUnaryImpl<SimpleRequest, SimpleResponse>(
stub, request, start_req, check_done); stub, request, start_req, check_done);
@ -165,11 +166,11 @@ class AsyncClient GRPC_FINAL : public Client {
~AsyncClient() GRPC_OVERRIDE { ~AsyncClient() GRPC_OVERRIDE {
EndThreads(); EndThreads();
for (auto& cq : cli_cqs_) { for (auto cq = cli_cqs_.begin(); cq != cli_cqs_.end(); cq++) {
cq->Shutdown(); (*cq)->Shutdown();
void* got_tag; void* got_tag;
bool ok; bool ok;
while (cq->Next(&got_tag, &ok)) { while ((*cq)->Next(&got_tag, &ok)) {
delete ClientRpcContext::detag(got_tag); delete ClientRpcContext::detag(got_tag);
} }
} }

@ -154,19 +154,19 @@ ScenarioResult RunScenario(const ClientConfig& initial_client_config,
server_mark.mutable_mark(); server_mark.mutable_mark();
ClientArgs client_mark; ClientArgs client_mark;
client_mark.mutable_mark(); client_mark.mutable_mark();
for (auto& server : servers) { for (auto server = servers.begin(); server != servers.end(); server++) {
GPR_ASSERT(server.stream->Write(server_mark)); GPR_ASSERT(server->stream->Write(server_mark));
} }
for (auto& client : clients) { for (auto client = clients.begin(); client != clients.end(); client++) {
GPR_ASSERT(client.stream->Write(client_mark)); GPR_ASSERT(client->stream->Write(client_mark));
} }
ServerStatus server_status; ServerStatus server_status;
ClientStatus client_status; ClientStatus client_status;
for (auto& server : servers) { for (auto server = servers.begin(); server != servers.end(); server++) {
GPR_ASSERT(server.stream->Read(&server_status)); GPR_ASSERT(server->stream->Read(&server_status));
} }
for (auto& client : clients) { for (auto client = clients.begin(); client != clients.end(); client++) {
GPR_ASSERT(client.stream->Read(&client_status)); GPR_ASSERT(client->stream->Read(&client_status));
} }
// Wait some time // Wait some time
@ -176,33 +176,33 @@ ScenarioResult RunScenario(const ClientConfig& initial_client_config,
// Finish a run // Finish a run
ScenarioResult result; ScenarioResult result;
gpr_log(GPR_INFO, "Finishing"); gpr_log(GPR_INFO, "Finishing");
for (auto& server : servers) { for (auto server = servers.begin(); server != servers.end(); server++) {
GPR_ASSERT(server.stream->Write(server_mark)); GPR_ASSERT(server->stream->Write(server_mark));
} }
for (auto& client : clients) { for (auto client = clients.begin(); client != clients.end(); client++) {
GPR_ASSERT(client.stream->Write(client_mark)); GPR_ASSERT(client->stream->Write(client_mark));
} }
for (auto& server : servers) { for (auto server = servers.begin(); server != servers.end(); server++) {
GPR_ASSERT(server.stream->Read(&server_status)); GPR_ASSERT(server->stream->Read(&server_status));
const auto& stats = server_status.stats(); const auto& stats = server_status.stats();
result.server_resources.push_back(ResourceUsage{ result.server_resources.push_back(ResourceUsage{
stats.time_elapsed(), stats.time_user(), stats.time_system()}); stats.time_elapsed(), stats.time_user(), stats.time_system()});
} }
for (auto& client : clients) { for (auto client = clients.begin(); client != clients.end(); client++) {
GPR_ASSERT(client.stream->Read(&client_status)); GPR_ASSERT(client->stream->Read(&client_status));
const auto& stats = client_status.stats(); const auto& stats = client_status.stats();
result.latencies.MergeProto(stats.latencies()); result.latencies.MergeProto(stats.latencies());
result.client_resources.push_back(ResourceUsage{ result.client_resources.push_back(ResourceUsage{
stats.time_elapsed(), stats.time_user(), stats.time_system()}); stats.time_elapsed(), stats.time_user(), stats.time_system()});
} }
for (auto& client : clients) { for (auto client = clients.begin(); client != clients.end(); client++) {
GPR_ASSERT(client.stream->WritesDone()); GPR_ASSERT(client->stream->WritesDone());
GPR_ASSERT(client.stream->Finish().IsOk()); GPR_ASSERT(client->stream->Finish().IsOk());
} }
for (auto& server : servers) { for (auto server = servers.begin(); server != servers.end(); server++) {
GPR_ASSERT(server.stream->WritesDone()); GPR_ASSERT(server->stream->WritesDone());
GPR_ASSERT(server.stream->Finish().IsOk()); GPR_ASSERT(server->stream->Finish().IsOk());
} }
return result; return result;
} }

@ -105,8 +105,8 @@ class AsyncQpsServerTest : public Server {
~AsyncQpsServerTest() { ~AsyncQpsServerTest() {
server_->Shutdown(); server_->Shutdown();
srv_cq_.Shutdown(); srv_cq_.Shutdown();
for (auto& thr : threads_) { for (auto thr = threads_.begin(); thr != threads_.end(); thr++) {
thr.join(); thr->join();
} }
while (!contexts_.empty()) { while (!contexts_.empty()) {
delete contexts_.front(); delete contexts_.front();

@ -43,8 +43,8 @@ namespace testing {
template <class T, class F> template <class T, class F>
double sum(const T& container, F functor) { double sum(const T& container, F functor) {
double r = 0; double r = 0;
for (auto v : container) { for (auto v = container.begin(); v != container.end(); v++) {
r += functor(v); r += functor(*v);
} }
return r; return r;
} }

Loading…
Cancel
Save