Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
grpc::ThreadManager Class Referenceabstract

#include <thread_manager.h>

Inheritance diagram for grpc::ThreadManager:
Inheritance graph
[legend]

Classes

class  WorkerThread
 

Public Types

enum  WorkStatus { WORK_FOUND, SHUTDOWN, TIMEOUT }
 

Public Member Functions

virtual void DoWork (void *tag, bool ok, bool resources)=0
 
int GetMaxActiveThreadsSoFar ()
 
void Initialize ()
 
bool IsShutdown ()
 
virtual WorkStatus PollForWork (void **tag, bool *ok)=0
 
virtual void Shutdown ()
 
 ThreadManager (const char *name, grpc_resource_quota *resource_quota, int min_pollers, int max_pollers)
 
virtual void Wait ()
 
virtual ~ThreadManager ()
 

Private Member Functions

void CleanupCompletedThreads ()
 
void MainWorkLoop ()
 
void MarkAsCompleted (WorkerThread *thd)
 

Private Attributes

std::list< WorkerThread * > completed_threads_
 
grpc_core::Mutex list_mu_
 
int max_active_threads_sofar_
 
int max_pollers_
 
int min_pollers_
 
grpc_core::Mutex mu_
 
int num_pollers_
 
int num_threads_
 
bool shutdown_
 
grpc_core::CondVar shutdown_cv_
 
grpc_core::ThreadQuotaPtr thread_quota_
 

Detailed Description

Definition at line 31 of file src/cpp/thread_manager/thread_manager.h.

Member Enumeration Documentation

◆ WorkStatus

Enumerator
WORK_FOUND 
SHUTDOWN 
TIMEOUT 

Definition at line 41 of file src/cpp/thread_manager/thread_manager.h.

Constructor & Destructor Documentation

◆ ThreadManager()

grpc::ThreadManager::ThreadManager ( const char *  name,
grpc_resource_quota resource_quota,
int  min_pollers,
int  max_pollers 
)
explicit

Definition at line 56 of file thread_manager.cc.

◆ ~ThreadManager()

grpc::ThreadManager::~ThreadManager ( )
virtual

Definition at line 67 of file thread_manager.cc.

Member Function Documentation

◆ CleanupCompletedThreads()

void grpc::ThreadManager::CleanupCompletedThreads ( )
private

Definition at line 116 of file thread_manager.cc.

◆ DoWork()

virtual void grpc::ThreadManager::DoWork ( void *  tag,
bool  ok,
bool  resources 
)
pure virtual

◆ GetMaxActiveThreadsSoFar()

int grpc::ThreadManager::GetMaxActiveThreadsSoFar ( )

Definition at line 93 of file thread_manager.cc.

◆ Initialize()

void grpc::ThreadManager::Initialize ( )

Definition at line 127 of file thread_manager.cc.

◆ IsShutdown()

bool grpc::ThreadManager::IsShutdown ( )

Definition at line 88 of file thread_manager.cc.

◆ MainWorkLoop()

void grpc::ThreadManager::MainWorkLoop ( )
private

Definition at line 150 of file thread_manager.cc.

◆ MarkAsCompleted()

void grpc::ThreadManager::MarkAsCompleted ( WorkerThread thd)
private

Definition at line 98 of file thread_manager.cc.

◆ PollForWork()

virtual WorkStatus grpc::ThreadManager::PollForWork ( void **  tag,
bool ok 
)
pure virtual

◆ Shutdown()

void grpc::ThreadManager::Shutdown ( )
virtual

Reimplemented in grpc::Server::SyncRequestThreadManager.

Definition at line 83 of file thread_manager.cc.

◆ Wait()

void grpc::ThreadManager::Wait ( )
virtual

Reimplemented in grpc::Server::SyncRequestThreadManager.

Definition at line 76 of file thread_manager.cc.

Member Data Documentation

◆ completed_threads_

std::list<WorkerThread*> grpc::ThreadManager::completed_threads_
private

Definition at line 174 of file src/cpp/thread_manager/thread_manager.h.

◆ list_mu_

grpc_core::Mutex grpc::ThreadManager::list_mu_
private

Definition at line 173 of file src/cpp/thread_manager/thread_manager.h.

◆ max_active_threads_sofar_

int grpc::ThreadManager::max_active_threads_sofar_
private

Definition at line 171 of file src/cpp/thread_manager/thread_manager.h.

◆ max_pollers_

int grpc::ThreadManager::max_pollers_
private

Definition at line 162 of file src/cpp/thread_manager/thread_manager.h.

◆ min_pollers_

int grpc::ThreadManager::min_pollers_
private

Definition at line 161 of file src/cpp/thread_manager/thread_manager.h.

◆ mu_

grpc_core::Mutex grpc::ThreadManager::mu_
private

Definition at line 144 of file src/cpp/thread_manager/thread_manager.h.

◆ num_pollers_

int grpc::ThreadManager::num_pollers_
private

Definition at line 158 of file src/cpp/thread_manager/thread_manager.h.

◆ num_threads_

int grpc::ThreadManager::num_threads_
private

Definition at line 166 of file src/cpp/thread_manager/thread_manager.h.

◆ shutdown_

bool grpc::ThreadManager::shutdown_
private

Definition at line 146 of file src/cpp/thread_manager/thread_manager.h.

◆ shutdown_cv_

grpc_core::CondVar grpc::ThreadManager::shutdown_cv_
private

Definition at line 147 of file src/cpp/thread_manager/thread_manager.h.

◆ thread_quota_

grpc_core::ThreadQuotaPtr grpc::ThreadManager::thread_quota_
private

Definition at line 155 of file src/cpp/thread_manager/thread_manager.h.


The documentation for this class was generated from the following files:


grpc
Author(s):
autogenerated on Fri May 16 2025 03:03:31