diff options
author | Sree Kuchibhotla <sreecha@users.noreply.github.com> | 2018-08-01 11:22:40 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-01 11:22:40 -0700 |
commit | bdd13cb0aef7d3f6dbc467148b4b3158485359eb (patch) | |
tree | d5e1b9213c2ce5b8f2757bb277e1f612d3cf1af7 /include/grpcpp/resource_quota.h | |
parent | 92fd2620ab03c438fdeab23400cb6f31f5ba7816 (diff) |
Revert "Revert "Restrict the number of threads in C++ sync server""
Diffstat (limited to 'include/grpcpp/resource_quota.h')
-rw-r--r-- | include/grpcpp/resource_quota.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/include/grpcpp/resource_quota.h b/include/grpcpp/resource_quota.h index 554437a40d..50bd1cb849 100644 --- a/include/grpcpp/resource_quota.h +++ b/include/grpcpp/resource_quota.h @@ -26,10 +26,10 @@ struct grpc_resource_quota; namespace grpc { -/// ResourceQuota represents a bound on memory usage by the gRPC library. -/// A ResourceQuota can be attached to a server (via \a ServerBuilder), +/// ResourceQuota represents a bound on memory and thread usage by the gRPC +/// library. A ResourceQuota can be attached to a server (via \a ServerBuilder), /// or a client channel (via \a ChannelArguments). -/// gRPC will attempt to keep memory used by all attached entities +/// gRPC will attempt to keep memory and threads used by all attached entities /// below the ResourceQuota bound. class ResourceQuota final : private GrpcLibraryCodegen { public: @@ -44,6 +44,16 @@ class ResourceQuota final : private GrpcLibraryCodegen { /// No time bound is given for this to occur however. ResourceQuota& Resize(size_t new_size); + /// Set the max number of threads that can be allocated from this + /// ResourceQuota object. + /// + /// If the new_max_threads value is smaller than the current value, no new + /// threads are allocated until the number of active threads fall below + /// new_max_threads. There is no time bound on when this may happen i.e none + /// of the current threads are forcefully destroyed and all threads run their + /// normal course. + ResourceQuota& SetMaxThreads(int new_max_threads); + grpc_resource_quota* c_resource_quota() const { return impl_; } private: |