Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

TAO_Thread_Pool_Manager Class Reference

Class for managing thread pools. More...

#include <Thread_Pool.h>

Collaboration diagram for TAO_Thread_Pool_Manager:

Collaboration graph
[legend]
List of all members.

Public Types

typedef ACE_Hash_Map_Manager<
RTCORBA::ThreadpoolId, TAO_Thread_Pool *,
ACE_Null_Mutex
THREAD_POOLS
 Collection of thread pools.


Public Methods

 TAO_Thread_Pool_Manager (TAO_ORB_Core &orb_core)
 Constructor.

 ~TAO_Thread_Pool_Manager (void)
 Destructor.

void finalize (void)
 Finalize the resources.

void shutdown_reactor (void)
 Shutdown the reactor.

void wait (void)
 Wait for threads to exit.

int is_collocated (const TAO_MProfile &mprofile)
RTCORBA::ThreadpoolId create_threadpool (CORBA::ULong stacksize, CORBA::ULong static_threads, CORBA::ULong dynamic_threads, RTCORBA::Priority default_priority, CORBA::Boolean allow_request_buffering, CORBA::ULong max_buffered_requests, CORBA::ULong max_request_buffer_size, CORBA::Environment &ACE_TRY_ENV) throw (CORBA::SystemException)
 Create a threadpool without lanes.

RTCORBA::ThreadpoolId create_threadpool_with_lanes (CORBA::ULong stacksize, const RTCORBA::ThreadpoolLanes & lanes, CORBA::Boolean allow_borrowing, CORBA::Boolean allow_request_buffering, CORBA::ULong max_buffered_requests, CORBA::ULong max_request_buffer_size, CORBA::Environment &ACE_TRY_ENV) throw (CORBA::SystemException)
 Create a threadpool with lanes.

void destroy_threadpool (RTCORBA::ThreadpoolId threadpool, CORBA::Environment &ACE_TRY_ENV) throw (CORBA::SystemException, RTCORBA::RTORB::InvalidThreadpool)
 Destroy a threadpool.

ACE_SYNCH_MUTEXlock (void)
TAO_ORB_Coreorb_core (void) const
THREAD_POOLSthread_pools (void)

Private Methods

RTCORBA::ThreadpoolId create_threadpool_i (CORBA::ULong stacksize, CORBA::ULong static_threads, CORBA::ULong dynamic_threads, RTCORBA::Priority default_priority, CORBA::Boolean allow_request_buffering, CORBA::ULong max_buffered_requests, CORBA::ULong max_request_buffer_size, CORBA::Environment &ACE_TRY_ENV) throw (CORBA::SystemException)
RTCORBA::ThreadpoolId create_threadpool_with_lanes_i (CORBA::ULong stacksize, const RTCORBA::ThreadpoolLanes & lanes, CORBA::Boolean allow_borrowing, CORBA::Boolean allow_request_buffering, CORBA::ULong max_buffered_requests, CORBA::ULong max_request_buffer_size, CORBA::Environment &ACE_TRY_ENV) throw (CORBA::SystemException)
void destroy_threadpool_i (RTCORBA::ThreadpoolId threadpool, CORBA::Environment &ACE_TRY_ENV) throw (CORBA::SystemException, RTCORBA::RTORB::InvalidThreadpool)
RTCORBA::ThreadpoolId create_threadpool_helper (TAO_Thread_Pool *thread_pool, CORBA::Environment &ACE_TRY_ENV) throw (CORBA::SystemException)

Private Attributes

TAO_ORB_Coreorb_core_
THREAD_POOLS thread_pools_
RTCORBA::ThreadpoolId thread_pool_id_counter_
ACE_SYNCH_MUTEX lock_

Detailed Description

Class for managing thread pools.


Member Typedef Documentation

typedef ACE_Hash_Map_Manager<RTCORBA::ThreadpoolId, TAO_Thread_Pool *, ACE_Null_Mutex> TAO_Thread_Pool_Manager::THREAD_POOLS
 

Collection of thread pools.


Constructor & Destructor Documentation

TAO_Thread_Pool_Manager::TAO_Thread_Pool_Manager ( TAO_ORB_Core & orb_core )
 

Constructor.

TAO_Thread_Pool_Manager::~TAO_Thread_Pool_Manager ( void )
 

Destructor.


Member Function Documentation

RTCORBA::ThreadpoolId TAO_Thread_Pool_Manager::create_threadpool ( CORBA::ULong stacksize,
CORBA::ULong static_threads,
CORBA::ULong dynamic_threads,
RTCORBA::Priority default_priority,
CORBA::Boolean allow_request_buffering,
CORBA::ULong max_buffered_requests,
CORBA::ULong max_request_buffer_size,
CORBA::Environment & ACE_TRY_ENV ) throw (CORBA::SystemException)
 

Create a threadpool without lanes.

RTCORBA::ThreadpoolId TAO_Thread_Pool_Manager::create_threadpool_helper ( TAO_Thread_Pool * thread_pool,
CORBA::Environment & ACE_TRY_ENV ) throw (CORBA::SystemException) [private]
 

RTCORBA::ThreadpoolId TAO_Thread_Pool_Manager::create_threadpool_i ( CORBA::ULong stacksize,
CORBA::ULong static_threads,
CORBA::ULong dynamic_threads,
RTCORBA::Priority default_priority,
CORBA::Boolean allow_request_buffering,
CORBA::ULong max_buffered_requests,
CORBA::ULong max_request_buffer_size,
CORBA::Environment & ACE_TRY_ENV ) throw (CORBA::SystemException) [private]
 

RTCORBA::ThreadpoolId TAO_Thread_Pool_Manager::create_threadpool_with_lanes ( CORBA::ULong stacksize,
const RTCORBA::ThreadpoolLanes & lanes,
CORBA::Boolean allow_borrowing,
CORBA::Boolean allow_request_buffering,
CORBA::ULong max_buffered_requests,
CORBA::ULong max_request_buffer_size,
CORBA::Environment & ACE_TRY_ENV ) throw (CORBA::SystemException)
 

Create a threadpool with lanes.

RTCORBA::ThreadpoolId TAO_Thread_Pool_Manager::create_threadpool_with_lanes_i ( CORBA::ULong stacksize,
const RTCORBA::ThreadpoolLanes & lanes,
CORBA::Boolean allow_borrowing,
CORBA::Boolean allow_request_buffering,
CORBA::ULong max_buffered_requests,
CORBA::ULong max_request_buffer_size,
CORBA::Environment & ACE_TRY_ENV ) throw (CORBA::SystemException) [private]
 

void TAO_Thread_Pool_Manager::destroy_threadpool ( RTCORBA::ThreadpoolId threadpool,
CORBA::Environment & ACE_TRY_ENV ) throw (CORBA::SystemException, RTCORBA::RTORB::InvalidThreadpool)
 

Destroy a threadpool.

void TAO_Thread_Pool_Manager::destroy_threadpool_i ( RTCORBA::ThreadpoolId thread_pool_id,
CORBA::Environment & ACE_TRY_ENV ) throw (CORBA::SystemException, RTCORBA::RTORB::InvalidThreadpool) [private]
 

void TAO_Thread_Pool_Manager::finalize ( void )
 

Finalize the resources.

int TAO_Thread_Pool_Manager::is_collocated ( const TAO_MProfile & mprofile )
 

ACE_SYNCH_MUTEX & TAO_Thread_Pool_Manager::lock ( void )
 

TAO_ORB_Core & TAO_Thread_Pool_Manager::orb_core ( void ) const
 

void TAO_Thread_Pool_Manager::shutdown_reactor ( void )
 

Shutdown the reactor.

TAO_Thread_Pool_Manager::THREAD_POOLS & TAO_Thread_Pool_Manager::thread_pools ( void )
 

void TAO_Thread_Pool_Manager::wait ( void )
 

Wait for threads to exit.


Member Data Documentation

ACE_SYNCH_MUTEX TAO_Thread_Pool_Manager::lock_ [private]
 

TAO_ORB_Core & TAO_Thread_Pool_Manager::orb_core_ [private]
 

RTCORBA::ThreadpoolId TAO_Thread_Pool_Manager::thread_pool_id_counter_ [private]
 

THREAD_POOLS TAO_Thread_Pool_Manager::thread_pools_ [private]
 


The documentation for this class was generated from the following files:
Generated at Sat Dec 1 12:19:20 2001 for TAO_RTCORBA by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000