Imported Upstream version 1.41.0
[platform/upstream/grpc.git] / test / cpp / microbenchmarks / fullstack_fixtures.h
index 73b4e41..08ff75a 100644 (file)
 #include "src/core/lib/surface/channel.h"
 #include "src/core/lib/surface/completion_queue.h"
 #include "src/core/lib/surface/server.h"
+#include "src/cpp/client/create_channel_internal.h"
 #include "test/core/util/passthru_endpoint.h"
 #include "test/core/util/port.h"
-
-#include "src/cpp/client/create_channel_internal.h"
 #include "test/cpp/microbenchmarks/helpers.h"
 
 namespace grpc {
@@ -84,7 +83,7 @@ class FullstackFixture : public BaseFixture {
     }
   }
 
-  virtual ~FullstackFixture() {
+  ~FullstackFixture() override {
     server_->Shutdown();
     cq_->Shutdown();
     void* tag;
@@ -93,7 +92,7 @@ class FullstackFixture : public BaseFixture {
     }
   }
 
-  void AddToLabel(std::ostream& out, benchmark::State& state) {
+  void AddToLabel(std::ostream& out, benchmark::State& state) override {
     BaseFixture::AddToLabel(out, state);
     out << " polls/iter:"
         << static_cast<double>(grpc_get_cq_poll_num(this->cq()->cq())) /
@@ -111,11 +110,12 @@ class FullstackFixture : public BaseFixture {
 
 class TCP : public FullstackFixture {
  public:
-  TCP(Service* service, const FixtureConfiguration& fixture_configuration =
-                            FixtureConfiguration())
+  explicit TCP(Service* service,
+               const FixtureConfiguration& fixture_configuration =
+                   FixtureConfiguration())
       : FullstackFixture(service, fixture_configuration, MakeAddress(&port_)) {}
 
-  ~TCP() { grpc_recycle_unused_port(port_); }
+  ~TCP() override { grpc_recycle_unused_port(port_); }
 
  private:
   int port_;
@@ -130,11 +130,12 @@ class TCP : public FullstackFixture {
 
 class UDS : public FullstackFixture {
  public:
-  UDS(Service* service, const FixtureConfiguration& fixture_configuration =
-                            FixtureConfiguration())
+  explicit UDS(Service* service,
+               const FixtureConfiguration& fixture_configuration =
+                   FixtureConfiguration())
       : FullstackFixture(service, fixture_configuration, MakeAddress(&port_)) {}
 
-  ~UDS() { grpc_recycle_unused_port(port_); }
+  ~UDS() override { grpc_recycle_unused_port(port_); }
 
  private:
   int port_;
@@ -150,11 +151,11 @@ class UDS : public FullstackFixture {
 
 class InProcess : public FullstackFixture {
  public:
-  InProcess(Service* service,
-            const FixtureConfiguration& fixture_configuration =
-                FixtureConfiguration())
+  explicit InProcess(Service* service,
+                     const FixtureConfiguration& fixture_configuration =
+                         FixtureConfiguration())
       : FullstackFixture(service, fixture_configuration, "") {}
-  ~InProcess() {}
+  ~InProcess() override {}
 };
 
 class EndpointPairFixture : public BaseFixture {
@@ -167,17 +168,18 @@ class EndpointPairFixture : public BaseFixture {
     b.RegisterService(service);
     fixture_configuration.ApplyCommonServerBuilderConfig(&b);
     server_ = b.BuildAndStart();
-
     grpc_core::ExecCtx exec_ctx;
-
     /* add server endpoint to server_
      * */
     {
       const grpc_channel_args* server_args =
           server_->c_server()->core_server->channel_args();
+      grpc_resource_quota* server_resource_quota =
+          grpc_resource_quota_from_channel_args(server_args, true);
       server_transport_ = grpc_create_chttp2_transport(
-          server_args, endpoints.server, false /* is_client */);
-
+          server_args, endpoints.server, false /* is_client */,
+          grpc_resource_user_create(server_resource_quota, "server_transport"));
+      grpc_resource_quota_unref(server_resource_quota);
       for (grpc_pollset* pollset :
            server_->c_server()->core_server->pollsets()) {
         grpc_endpoint_add_to_pollset(endpoints.server, pollset);
@@ -185,7 +187,8 @@ class EndpointPairFixture : public BaseFixture {
 
       server_->c_server()->core_server->SetupTransport(
           server_transport_, nullptr, server_args, nullptr);
-      grpc_chttp2_transport_start_reading(server_transport_, nullptr, nullptr);
+      grpc_chttp2_transport_start_reading(server_transport_, nullptr, nullptr,
+                                          nullptr);
     }
 
     /* create channel */
@@ -195,12 +198,18 @@ class EndpointPairFixture : public BaseFixture {
       fixture_configuration.ApplyCommonChannelArguments(&args);
 
       grpc_channel_args c_args = args.c_channel_args();
-      client_transport_ =
-          grpc_create_chttp2_transport(&c_args, endpoints.client, true);
+      grpc_resource_quota* client_resource_quota =
+          grpc_resource_quota_from_channel_args(&c_args, true);
+      client_transport_ = grpc_create_chttp2_transport(
+          &c_args, endpoints.client, true,
+          grpc_resource_user_create(client_resource_quota, "client_transport"));
+      grpc_resource_quota_unref(client_resource_quota);
       GPR_ASSERT(client_transport_);
-      grpc_channel* channel = grpc_channel_create(
-          "target", &c_args, GRPC_CLIENT_DIRECT_CHANNEL, client_transport_);
-      grpc_chttp2_transport_start_reading(client_transport_, nullptr, nullptr);
+      grpc_channel* channel =
+          grpc_channel_create("target", &c_args, GRPC_CLIENT_DIRECT_CHANNEL,
+                              client_transport_, nullptr, 0, nullptr);
+      grpc_chttp2_transport_start_reading(client_transport_, nullptr, nullptr,
+                                          nullptr);
 
       channel_ = ::grpc::CreateChannelInternal(
           "", channel,
@@ -209,7 +218,7 @@ class EndpointPairFixture : public BaseFixture {
     }
   }
 
-  virtual ~EndpointPairFixture() {
+  ~EndpointPairFixture() override {
     server_->Shutdown();
     cq_->Shutdown();
     void* tag;
@@ -218,7 +227,7 @@ class EndpointPairFixture : public BaseFixture {
     }
   }
 
-  void AddToLabel(std::ostream& out, benchmark::State& state) {
+  void AddToLabel(std::ostream& out, benchmark::State& state) override {
     BaseFixture::AddToLabel(out, state);
     out << " polls/iter:"
         << static_cast<double>(grpc_get_cq_poll_num(this->cq()->cq())) /
@@ -241,8 +250,9 @@ class EndpointPairFixture : public BaseFixture {
 
 class SockPair : public EndpointPairFixture {
  public:
-  SockPair(Service* service, const FixtureConfiguration& fixture_configuration =
-                                 FixtureConfiguration())
+  explicit SockPair(Service* service,
+                    const FixtureConfiguration& fixture_configuration =
+                        FixtureConfiguration())
       : EndpointPairFixture(service,
                             grpc_iomgr_create_endpoint_pair("test", nullptr),
                             fixture_configuration) {}
@@ -261,13 +271,13 @@ class InProcessCHTTP2WithExplicitStats : public EndpointPairFixture {
                             fixture_configuration),
         stats_(stats) {}
 
-  virtual ~InProcessCHTTP2WithExplicitStats() {
+  ~InProcessCHTTP2WithExplicitStats() override {
     if (stats_ != nullptr) {
       grpc_passthru_endpoint_stats_destroy(stats_);
     }
   }
 
-  void AddToLabel(std::ostream& out, benchmark::State& state) {
+  void AddToLabel(std::ostream& out, benchmark::State& state) override {
     EndpointPairFixture::AddToLabel(out, state);
     out << " writes/iter:"
         << static_cast<double>(gpr_atm_no_barrier_load(&stats_->num_writes)) /
@@ -279,17 +289,16 @@ class InProcessCHTTP2WithExplicitStats : public EndpointPairFixture {
 
   static grpc_endpoint_pair MakeEndpoints(grpc_passthru_endpoint_stats* stats) {
     grpc_endpoint_pair p;
-    grpc_passthru_endpoint_create(&p.client, &p.server,
-                                  LibraryInitializer::get().rq(), stats);
+    grpc_passthru_endpoint_create(&p.client, &p.server, stats);
     return p;
   }
 };
 
 class InProcessCHTTP2 : public InProcessCHTTP2WithExplicitStats {
  public:
-  InProcessCHTTP2(Service* service,
-                  const FixtureConfiguration& fixture_configuration =
-                      FixtureConfiguration())
+  explicit InProcessCHTTP2(Service* service,
+                           const FixtureConfiguration& fixture_configuration =
+                               FixtureConfiguration())
       : InProcessCHTTP2WithExplicitStats(service,
                                          grpc_passthru_endpoint_stats_create(),
                                          fixture_configuration) {}
@@ -313,7 +322,8 @@ class MinStackConfiguration : public FixtureConfiguration {
 template <class Base>
 class MinStackize : public Base {
  public:
-  MinStackize(Service* service) : Base(service, MinStackConfiguration()) {}
+  explicit MinStackize(Service* service)
+      : Base(service, MinStackConfiguration()) {}
 };
 
 typedef MinStackize<TCP> MinTCP;