in e2e-examples/gcs/benchmark/channel_policy.cc [148:165]
StorageStubProvider::StubHolder GetStorageStub() override {
absl::MutexLock l(&lock_);
// Finds the channel with the least number of use.
auto least = channel_states_.begin();
for (auto i = channel_states_.begin(); i != channel_states_.end(); ++i) {
if (i->in_use_count < least->in_use_count) {
least = i;
}
}
// Increases in-use count for the channel to be returned.
least->in_use_count += 1;
StorageStubProvider::StubHolder holder = {
google::storage::v2::Storage::NewStub(least->channel),
(void*)least->channel.get()};
return holder;
}