TAO_RT_ORB Class Reference

RTCORBA::RTORB implementation. More...

#include <RT_ORB.h>

Inheritance diagram for TAO_RT_ORB:

Inheritance graph
[legend]
Collaboration diagram for TAO_RT_ORB:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_RT_ORB (TAO_ORB_Core *orb_core)
 Constructor.
virtual RTCORBA::Mutex_ptr create_mutex (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual void destroy_mutex (RTCORBA::Mutex_ptr the_mutex ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual RTCORBA::Mutex_ptr create_named_mutex (const char *name, CORBA::Boolean_out created_flag ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual RTCORBA::Mutex_ptr open_named_mutex (const char *name ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, RTCORBA::RTORB::MutexNotFound )
 Retrieve a previously created mutex.
RTCORBA::TCPProtocolProperties_ptr create_tcp_protocol_properties (CORBA::Long send_buffer_size, CORBA::Long recv_buffer_size, CORBA::Boolean keep_alive, CORBA::Boolean dont_route, CORBA::Boolean no_delay, CORBA::Boolean enable_network_priority ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException )
RTCORBA::UnixDomainProtocolProperties_ptr create_unix_domain_protocol_properties (CORBA::Long send_buffer_size, CORBA::Long recv_buffer_size ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
RTCORBA::SharedMemoryProtocolProperties_ptr create_shared_memory_protocol_properties (CORBA::Long send_buffer_size, CORBA::Long recv_buffer_size, CORBA::Boolean keep_alive, CORBA::Boolean dont_route, CORBA::Boolean no_delay, CORBA::Long preallocate_buffer_size, const char *mmap_filename, const char *mmap_lockname ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
RTCORBA::UserDatagramProtocolProperties_ptr create_user_datagram_protocol_properties (CORBA::Boolean enable_network_priority ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
RTCORBA::StreamControlProtocolProperties_ptr create_stream_control_protocol_properties (CORBA::Long send_buffer_size, CORBA::Long recv_buffer_size, CORBA::Boolean keep_alive, CORBA::Boolean dont_route, CORBA::Boolean no_delay, CORBA::Boolean enable_network_priority ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual 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 ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Create a RTCORBA threadpool to manage a set of threads without lanes.
virtual 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 ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual void destroy_threadpool (RTCORBA::ThreadpoolId threadpool ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, RTCORBA::RTORB::InvalidThreadpool)
 Free the resources associated with the specified threadpool.
virtual RTCORBA::PriorityModelPolicy_ptr create_priority_model_policy (RTCORBA::PriorityModel priority_model, RTCORBA::Priority server_priority ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Create a priority model policy for use when configuring a POA.
virtual RTCORBA::ThreadpoolPolicy_ptr create_threadpool_policy (RTCORBA::ThreadpoolId threadpool ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Create a ThreadpoolPolicy instance for POA creation.
virtual RTCORBA::PriorityBandedConnectionPolicy_ptr create_priority_banded_connection_policy (const RTCORBA::PriorityBands &priority_bands ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual RTCORBA::PrivateConnectionPolicy_ptr create_private_connection_policy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual RTCORBA::ServerProtocolPolicy_ptr create_server_protocol_policy (const RTCORBA::ProtocolList &protocols ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual RTCORBA::ClientProtocolPolicy_ptr create_client_protocol_policy (const RTCORBA::ProtocolList &protocols ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
TAO_ORB_Coreorb_core (void) const
 Reference to our creating ORB Core.
TAO_Thread_Pool_Managertp_manager (void) const
 Get the Thread Pool Manager.

Static Public Member Functions

static int modify_thread_scheduling_policy (CORBA::ORB_ptr orb)

Protected Member Functions

virtual ~TAO_RT_ORB (void)

Protected Attributes

TAO_ORB_Coreorb_core_
 Reference to our creating ORB Core.
TAO_Named_RT_Mutex_Manager mutex_mgr_
 mutex_mgr_ manages the names associated with named mutexes.
TAO_Thread_Pool_Managertp_manager_
 Thread Pool Manager.

Detailed Description

RTCORBA::RTORB implementation.

Creates and destroys RT CORBA objects, i.e., policies, threadpools, mutexes.


Constructor & Destructor Documentation

TAO_RT_ORB::TAO_RT_ORB TAO_ORB_Core orb_core  ) 
 

Constructor.

TAO_RT_ORB::~TAO_RT_ORB void   )  [protected, virtual]
 

Protected destructor to enforce proper memory management of this reference counted object.


Member Function Documentation

RTCORBA::ClientProtocolPolicy_ptr TAO_RT_ORB::create_client_protocol_policy const RTCORBA::ProtocolList &protocols  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  throw (CORBA::SystemException) [virtual]
 

Create a ClientProtocolPolicy instance to select and configure communication protocols on the client side.

virtual RTCORBA::Mutex_ptr TAO_RT_ORB::create_mutex ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

Create a new mutex. Mutexes returned by this method are the same as those used internally by the ORB, so that consistant priority inheritance/piority ceiling semantics can be guaranteed.

RTCORBA::Mutex_ptr TAO_RT_ORB::create_named_mutex const char *  name,
CORBA::Boolean_out created_flag  ACE_ENV_ARG_DECL_WITH_DEFAULTS
throw (CORBA::SystemException) [virtual]
 

Create a mutex and assign a name to it. If the mutex already exists, it is returned and the created_flag is set to 0.

RTCORBA::PriorityBandedConnectionPolicy_ptr TAO_RT_ORB::create_priority_banded_connection_policy const RTCORBA::PriorityBands &priority_bands  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  throw (CORBA::SystemException) [virtual]
 

Create a PriorityBandedConnectionPolicy instance for use on either the client or server side

RTCORBA::PriorityModelPolicy_ptr TAO_RT_ORB::create_priority_model_policy RTCORBA::PriorityModel  priority_model,
RTCORBA::Priority server_priority  ACE_ENV_ARG_DECL_WITH_DEFAULTS
throw (CORBA::SystemException) [virtual]
 

Create a priority model policy for use when configuring a POA.

virtual RTCORBA::PrivateConnectionPolicy_ptr TAO_RT_ORB::create_private_connection_policy ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   )  throw (CORBA::SystemException) [virtual]
 

Create a PrivateConnectionPolicy instance to use on client to request a private (non-multiplexed) transport connection to the server.

RTCORBA::ServerProtocolPolicy_ptr TAO_RT_ORB::create_server_protocol_policy const RTCORBA::ProtocolList &protocols  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  throw (CORBA::SystemException) [virtual]
 

Create a ServerProtocolPolicy instance to select and configure communication protocols on the server side.

RTCORBA::SharedMemoryProtocolProperties_ptr TAO_RT_ORB::create_shared_memory_protocol_properties CORBA::Long  send_buffer_size,
CORBA::Long  recv_buffer_size,
CORBA::Boolean  keep_alive,
CORBA::Boolean  dont_route,
CORBA::Boolean  no_delay,
CORBA::Long  preallocate_buffer_size,
const char *  mmap_filename,
const char *mmap_lockname  ACE_ENV_ARG_DECL_WITH_DEFAULTS
throw (CORBA::SystemException)
 

RTCORBA::StreamControlProtocolProperties_ptr TAO_RT_ORB::create_stream_control_protocol_properties CORBA::Long  send_buffer_size,
CORBA::Long  recv_buffer_size,
CORBA::Boolean  keep_alive,
CORBA::Boolean  dont_route,
CORBA::Boolean  no_delay,
CORBA::Boolean enable_network_priority  ACE_ENV_ARG_DECL_WITH_DEFAULTS
throw (CORBA::SystemException)
 

RTCORBA::TCPProtocolProperties_ptr TAO_RT_ORB::create_tcp_protocol_properties CORBA::Long  send_buffer_size,
CORBA::Long  recv_buffer_size,
CORBA::Boolean  keep_alive,
CORBA::Boolean  dont_route,
CORBA::Boolean  no_delay,
CORBA::Boolean enable_network_priority  ACE_ENV_ARG_DECL_WITH_DEFAULTS
throw (CORBA::SystemException )
 

Create and return a TCPProtocolProperties instance with the specified parameters.

RTCORBA::ThreadpoolId TAO_RT_ORB::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  ACE_ENV_ARG_DECL_WITH_DEFAULTS
throw (CORBA::SystemException) [virtual]
 

Create a RTCORBA threadpool to manage a set of threads without lanes.

RTCORBA::ThreadpoolPolicy_ptr TAO_RT_ORB::create_threadpool_policy RTCORBA::ThreadpoolId threadpool  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  throw (CORBA::SystemException) [virtual]
 

Create a ThreadpoolPolicy instance for POA creation.

RTCORBA::ThreadpoolId TAO_RT_ORB::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  ACE_ENV_ARG_DECL_WITH_DEFAULTS
throw (CORBA::SystemException) [virtual]
 

Create a threadpool and separate it into subsets based on priorities.

RTCORBA::UnixDomainProtocolProperties_ptr TAO_RT_ORB::create_unix_domain_protocol_properties CORBA::Long  send_buffer_size,
CORBA::Long recv_buffer_size  ACE_ENV_ARG_DECL_WITH_DEFAULTS
throw (CORBA::SystemException)
 

RTCORBA::UserDatagramProtocolProperties_ptr TAO_RT_ORB::create_user_datagram_protocol_properties CORBA::Boolean enable_network_priority  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  throw (CORBA::SystemException)
 

virtual void TAO_RT_ORB::destroy_mutex RTCORBA::Mutex_ptr the_mutex  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  throw (CORBA::SystemException) [virtual]
 

Destroy a mutex. Currently this is a no-op since RTCORBA::Mutex instances are destroyed as soon as their reference counts go to 0.

void TAO_RT_ORB::destroy_threadpool RTCORBA::ThreadpoolId threadpool  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  throw (CORBA::SystemException, RTCORBA::RTORB::InvalidThreadpool) [virtual]
 

Free the resources associated with the specified threadpool.

int TAO_RT_ORB::modify_thread_scheduling_policy CORBA::ORB_ptr  orb  )  [static]
 

This method changes the scheduling policy of the calling thread to match the scheduling policy specified in the svc.conf file. The priority of the calling thread will be set to the minimum priority supported by that scheduling policy.

This method make sense on those platform (e.g., Linux) where PTHREAD_SCOPE_SYSTEM is the only scheduling scope supported. On other platforms, this method is a no-op since the only way to get the real-time threading behavior is to setup the PTHREAD_SCOPE_SYSTEM scheduling scope when a thread is being created. On such platforms, one can set the correct scheduling scope and policy when creating the thread, thus not needing to use this method.

RTCORBA::Mutex_ptr TAO_RT_ORB::open_named_mutex const char *name  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  throw (CORBA::SystemException, RTCORBA::RTORB::MutexNotFound ) [virtual]
 

Retrieve a previously created mutex.

TAO_ORB_Core * TAO_RT_ORB::orb_core void   )  const
 

Reference to our creating ORB Core.

Reimplemented from CORBA::Object.

TAO_Thread_Pool_Manager & TAO_RT_ORB::tp_manager void   )  const
 

Get the Thread Pool Manager.


Member Data Documentation

TAO_Named_RT_Mutex_Manager TAO_RT_ORB::mutex_mgr_ [protected]
 

mutex_mgr_ manages the names associated with named mutexes.

TAO_ORB_Core* TAO_RT_ORB::orb_core_ [protected]
 

Reference to our creating ORB Core.

Reimplemented from CORBA::Object.

TAO_Thread_Pool_Manager* TAO_RT_ORB::tp_manager_ [protected]
 

Thread Pool Manager.


The documentation for this class was generated from the following files:
Generated on Wed Nov 23 16:13:48 2005 for TAO_RTCORBA by  doxygen 1.4.5