TAO_RTCORBA  2.4.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
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]

Public Member Functions

 TAO_RT_ORB (TAO_ORB_Core *orb_core, TAO_RT_ORBInitializer::TAO_RTCORBA_DT_LifeSpan lifespan, ACE_Time_Value const &dynamic_thread_time)
 Constructor. More...
 
virtual RTCORBA::Mutex_ptr create_mutex (void)
 
virtual void destroy_mutex (RTCORBA::Mutex_ptr the_mutex)
 
virtual RTCORBA::Mutex_ptr create_named_mutex (const char *name, CORBA::Boolean_out created_flag)
 
virtual RTCORBA::Mutex_ptr open_named_mutex (const char *name)
 Retrieve a previously created mutex. More...
 
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)
 
RTCORBA::UnixDomainProtocolProperties_ptr create_unix_domain_protocol_properties (CORBA::Long send_buffer_size, CORBA::Long recv_buffer_size)
 
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)
 
RTCORBA::UserDatagramProtocolProperties_ptr create_user_datagram_protocol_properties (CORBA::Long send_buffer_size, CORBA::Long recv_buffer_size, CORBA::Boolean enable_network_priority)
 
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)
 
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)
 Create a RTCORBA threadpool to manage a set of threads without lanes. More...
 
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)
 
virtual void destroy_threadpool (RTCORBA::ThreadpoolId threadpool)
 Free the resources associated with the specified threadpool. More...
 
virtual RTCORBA::PriorityModelPolicy_ptr create_priority_model_policy (RTCORBA::PriorityModel priority_model, RTCORBA::Priority server_priority)
 Create a priority model policy for use when configuring a POA. More...
 
virtual RTCORBA::ThreadpoolPolicy_ptr create_threadpool_policy (RTCORBA::ThreadpoolId threadpool)
 Create a ThreadpoolPolicy instance for POA creation. More...
 
virtual RTCORBA::PriorityBandedConnectionPolicy_ptr create_priority_banded_connection_policy (const RTCORBA::PriorityBands &priority_bands)
 
virtual RTCORBA::PrivateConnectionPolicy_ptr create_private_connection_policy (void)
 
virtual RTCORBA::ServerProtocolPolicy_ptr create_server_protocol_policy (const RTCORBA::ProtocolList &protocols)
 
virtual RTCORBA::ClientProtocolPolicy_ptr create_client_protocol_policy (const RTCORBA::ProtocolList &protocols)
 
TAO_ORB_Coreorb_core (void) const
 Reference to our creating ORB Core. More...
 
TAO_Thread_Pool_Managertp_manager (void) const
 Get the Thread Pool Manager. More...
 
- Public Member Functions inherited from RTCORBA::RTORB
void destroy_mutex (in Mutex the_mutex)
 
Mutex create_named_mutex (in string name, out boolean created_flag)
 
Mutex open_named_mutex (in string name) raises (MutexNotFound)
 
TCPProtocolProperties create_tcp_protocol_properties (in long send_buffer_size, in long recv_buffer_size, in boolean keep_alive, in boolean dont_route, in boolean no_delay, in boolean enable_network_priority)
 
UnixDomainProtocolProperties create_unix_domain_protocol_properties (in long send_buffer_size, in long recv_buffer_size)
 
SharedMemoryProtocolProperties create_shared_memory_protocol_properties (in long send_buffer_size, in long recv_buffer_size, in boolean keep_alive, in boolean dont_route, in boolean no_delay, in long preallocate_buffer_size, in string mmap_filename, in string mmap_lockname)
 
UserDatagramProtocolProperties create_user_datagram_protocol_properties (in long send_buffer_size, in long recv_buffer_size, in boolean enable_network_priority)
 
StreamControlProtocolProperties create_stream_control_protocol_properties (in long send_buffer_size, in long recv_buffer_size, in boolean keep_alive, in boolean dont_route, in boolean no_delay, in boolean enable_network_priority)
 
ThreadpoolId create_threadpool (in unsigned long stacksize, in unsigned long static_threads, in unsigned long dynamic_threads, in Priority default_priority, in boolean allow_request_buffering, in unsigned long max_buffered_requests, in unsigned long max_request_buffer_size)
 
ThreadpoolId create_threadpool_with_lanes (in unsigned long stacksize, in ThreadpoolLanes lanes, in boolean allow_borrowing, in boolean allow_request_buffering, in unsigned long max_buffered_requests, in unsigned long max_request_buffer_size)
 
void destroy_threadpool (in ThreadpoolId threadpool) raises (InvalidThreadpool)
 
PriorityModelPolicy create_priority_model_policy (in PriorityModel priority_model, in Priority server_priority)
 
ThreadpoolPolicy create_threadpool_policy (in ThreadpoolId threadpool)
 
PriorityBandedConnectionPolicy create_priority_banded_connection_policy (in PriorityBands priority_bands)
 
ServerProtocolPolicy create_server_protocol_policy (in ProtocolList protocols)
 
ClientProtocolPolicy create_client_protocol_policy (in ProtocolList protocols)
 
- Public Member Functions inherited from CORBA::LocalObject
virtual ~LocalObject (void)
 
virtual CORBA::Boolean _non_existent (void)
 
virtual char * _repository_id (void)
 
virtual CORBA::InterfaceDef_ptr _get_interface (void)
 
virtual CORBA::Object_ptr _get_component (void)
 
virtual void _create_request (CORBA::Context_ptr ctx, const char *operation, CORBA::NVList_ptr arg_list, CORBA::NamedValue_ptr result, CORBA::Request_ptr &request, CORBA::Flags req_flags)
 
virtual void _create_request (CORBA::Context_ptr ctx, const char *operation, CORBA::NVList_ptr arg_list, CORBA::NamedValue_ptr result, CORBA::ExceptionList_ptr exclist, CORBA::ContextList_ptr ctxtlist, CORBA::Request_ptr &request, CORBA::Flags req_flags)
 
virtual CORBA::Request_ptr _request (const char *operation)
 
CORBA::Policy_ptr _get_policy (CORBA::PolicyType type)
 
CORBA::Policy_ptr _get_cached_policy (TAO_Cached_Policy_Type type)
 
CORBA::Object_ptr _set_policy_overrides (const CORBA::PolicyList &policies, CORBA::SetOverrideType set_add)
 
CORBA::PolicyList_get_policy_overrides (const CORBA::PolicyTypeSeq &types)
 
CORBA::Boolean _validate_connection (CORBA::PolicyList_out inconsistent_policies)
 
virtual CORBA::ULong _hash (CORBA::ULong maximum)
 
virtual CORBA::Boolean _is_equivalent (CORBA::Object_ptr other_obj)
 
virtual CORBA::ORB_ptr _get_orb (void)
 
virtual TAO::ObjectKey_key (void)
 
- Public Member Functions inherited from CORBA::Object
virtual ~Object (void)
 
virtual TAO_Abstract_ServantBase_servant (void) const
 
virtual CORBA::Boolean _is_collocated (void) const
 
virtual CORBA::Boolean _is_local (void) const
 
 Object (TAO_Stub *p, CORBA::Boolean collocated=false, TAO_Abstract_ServantBase *servant=0, TAO_ORB_Core *orb_core=0)
 
 Object (IOP::IOR *ior, TAO_ORB_Core *orb_core)
 
virtual TAO_Stub_stubobj (void) const
 
virtual TAO_Stub_stubobj (void)
 
virtual void _proxy_broker (TAO::Object_Proxy_Broker *proxy_broker)
 
virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr)
 
CORBA::Boolean is_evaluated (void) const
 
TAO_ORB_Coreorb_core (void) const
 
IOP::IORsteal_ior (void)
 
const IOP::IORior (void) const
 
virtual bool can_convert_to_ior (void) const
 
virtual char * convert_to_ior (bool use_omg_ior_format, const char *ior_prefix) const
 
void _decr_refcount (void)
 
virtual void _add_ref (void)
 
virtual void _remove_ref (void)
 
virtual CORBA::ULong _refcount_value (void) const
 
virtual CORBA::Boolean _is_a (const char *logical_type_id)
 
virtual const char * _interface_repository_id (void) const
 
CORBA::Policy_ptr _get_policy (CORBA::PolicyType type)
 
CORBA::Policy_ptr _get_cached_policy (TAO_Cached_Policy_Type type)
 
CORBA::Object_ptr _set_policy_overrides (const CORBA::PolicyList &policies, CORBA::SetOverrideType set_add)
 
CORBA::PolicyList_get_policy_overrides (const CORBA::PolicyTypeSeq &types)
 
CORBA::Boolean _validate_connection (CORBA::PolicyList_out inconsistent_policies)
 
virtual void _add_ref (void)
 
virtual void _remove_ref (void)
 
virtual CORBA::ULong _refcount_value (void) const
 

Static Public Member Functions

static int modify_thread_scheduling_policy (CORBA::ORB_ptr orb)
 
- Static Public Member Functions inherited from CORBA::LocalObject
static LocalObject_ptr _duplicate (LocalObject_ptr obj)
 
static LocalObject_ptr _nil (void)
 
static LocalObject_ptr _narrow (CORBA::Object_ptr obj)
 
- Static Public Member Functions inherited from CORBA::Object
static CORBA::Boolean marshal (const Object_ptr x, TAO_OutputCDR &cdr)
 
static void _tao_any_destructor (void *)
 
static CORBA::Boolean is_nil_i (CORBA::Object_ptr obj)
 
static void tao_object_initialize (Object *)
 
static CORBA::Object_ptr _duplicate (CORBA::Object_ptr obj)
 
static CORBA::Object_ptr _nil (void)
 
static CORBA::Object_ptr _narrow (CORBA::Object_ptr obj)
 

Protected Member Functions

virtual ~TAO_RT_ORB (void)
 
- Protected Member Functions inherited from CORBA::LocalObject
 LocalObject (void)
 
- Protected Member Functions inherited from CORBA::Object
 Object (int dummy=0)
 
TAO::Object_Proxy_Brokerproxy_broker () const
 

Protected Attributes

TAO_ORB_Core *const orb_core_
 Reference to our creating ORB Core. More...
 
TAO_Named_RT_Mutex_Manager mutex_mgr_
 mutex_mgr_ manages the names associated with named mutexes. More...
 
TAO_Thread_Pool_Managertp_manager_
 Thread Pool Manager. More...
 
TAO_RT_ORBInitializer::TAO_RTCORBA_DT_LifeSpan lifespan_
 Dynamic thread lifespan policy. More...
 
ACE_Time_Value const dynamic_thread_time_
 Dynamic thread run time. More...
 
- Protected Attributes inherited from CORBA::Object
ACE_Atomic_Op< TAO_SYNCH_MUTEX, unsigned long > refcount_
 

Additional Inherited Members

- Public Types inherited from CORBA::LocalObject
typedef LocalObject_ptr _ptr_type
 
typedef LocalObject_var _var_type
 
typedef LocalObject_out _out_type
 
- Public Types inherited from CORBA::Object
typedef Object_ptr _ptr_type
 
typedef Object_var _var_type
 
typedef Object_out _out_type
 

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,
TAO_RT_ORBInitializer::TAO_RTCORBA_DT_LifeSpan  lifespan,
ACE_Time_Value const &  dynamic_thread_time 
)

Constructor.

TAO_RT_ORB::~TAO_RT_ORB ( void  )
protectedvirtual

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)
virtual

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

RTCORBA::Mutex_ptr TAO_RT_ORB::create_mutex ( void  )
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.

Implements RTCORBA::RTORB.

RTCORBA::Mutex_ptr TAO_RT_ORB::create_named_mutex ( const char *  name,
CORBA::Boolean_out  created_flag 
)
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)
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 
)
virtual

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

RTCORBA::PrivateConnectionPolicy_ptr TAO_RT_ORB::create_private_connection_policy ( void  )
virtual

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

Implements RTCORBA::RTORB.

RTCORBA::ServerProtocolPolicy_ptr TAO_RT_ORB::create_server_protocol_policy ( const RTCORBA::ProtocolList protocols)
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 
)
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 
)
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 
)

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 
)
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)
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 
)
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 
)
RTCORBA::UserDatagramProtocolProperties_ptr TAO_RT_ORB::create_user_datagram_protocol_properties ( CORBA::Long  send_buffer_size,
CORBA::Long  recv_buffer_size,
CORBA::Boolean  enable_network_priority 
)
void TAO_RT_ORB::destroy_mutex ( RTCORBA::Mutex_ptr  the_mutex)
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)
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)
virtual

Retrieve a previously created mutex.

TAO_ORB_Core * TAO_RT_ORB::orb_core ( void  ) const

Reference to our creating ORB Core.

TAO_Thread_Pool_Manager & TAO_RT_ORB::tp_manager ( void  ) const

Get the Thread Pool Manager.

Member Data Documentation

ACE_Time_Value const TAO_RT_ORB::dynamic_thread_time_
protected

Dynamic thread run time.

TAO_RT_ORBInitializer::TAO_RTCORBA_DT_LifeSpan TAO_RT_ORB::lifespan_
protected

Dynamic thread lifespan policy.

TAO_Named_RT_Mutex_Manager TAO_RT_ORB::mutex_mgr_
protected

mutex_mgr_ manages the names associated with named mutexes.

TAO_ORB_Core* const TAO_RT_ORB::orb_core_
protected

Reference to our creating ORB Core.

TAO_Thread_Pool_Manager* TAO_RT_ORB::tp_manager_
protected

Thread Pool Manager.


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