TAO 4.0.1
|
Encapsulates the state of an ORB. More...
#include <ORB_Core.h>
Friends | |
struct | TAO_ORB_Core_Decr_Refcnt |
CORBA::ORB_ptr | CORBA::ORB_init (int &, ACE_TCHAR *argv[], const char *) |
Collocation Strategies as configured by the user | |
enum | { ORB_CONTROL , TAO_COLLOCATION_THRU_POA , TAO_COLLOCATION_DIRECT , TAO_COLLOCATION_BEST } |
Set/get the collocation flags. More... | |
void | optimize_collocation_objects (CORBA::Boolean opt) |
Set/get the collocation flags. | |
CORBA::Boolean | optimize_collocation_objects () const |
Set/get the collocation flags. | |
void | use_global_collocation (CORBA::Boolean opt) |
Set/get the collocation flags. | |
CORBA::Boolean | use_global_collocation () const |
Set/get the collocation flags. | |
CORBA::ULong | get_collocation_strategy () const |
Set/get the collocation flags. | |
TAO_Adapter * | poa_adapter () |
Access to Factories | |
These factories are not thread-specific, and are presented here in order to have one place to get useful information. Often, the instances to which the return pointers are stored in the Service Repository. | |
typedef void(* | Timeout_Hook) (TAO_ORB_Core *, TAO_Stub *, bool &, ACE_Time_Value &) |
Define the Timeout_Hook signature. | |
typedef void(* | Sync_Scope_Hook) (TAO_ORB_Core *, TAO_Stub *, bool &, Messaging::SyncScope &) |
Define the Timeout_Hook signature. | |
TAO_Protocols_Hooks * | protocols_hooks_ |
Handle to the factory for protocols_hooks_.. | |
TAO_Network_Priority_Protocols_Hooks * | network_priority_protocols_hooks_ |
Handle to the factory for network_priority_protocols_hooks_.. | |
TAO_Resource_Factory * | resource_factory () |
Returns pointer to the resource factory. | |
TAO::GUIResource_Factory * | gui_resource_factory () |
Returns pointer to the factory for creating gui resources. | |
TAO_Client_Strategy_Factory * | client_factory () |
Returns pointer to the client factory. | |
TAO_Server_Strategy_Factory * | server_factory () |
Returns pointer to the server factory. | |
TAO_Protocols_Hooks * | protocols_hooks () |
Returns pointer to the Protocols_Hooks. | |
TAO_Thread_Lane_Resources_Manager & | thread_lane_resources_manager () |
Returns a pointer to the Thread Lane Resources Manager. | |
TAO_Collocation_Resolver & | collocation_resolver () |
Returns a pointer to the Collocation Resolver. | |
TAO_Stub_Factory * | stub_factory () |
Returns a pointer to the Stub factory. | |
TAO_Endpoint_Selector_Factory * | endpoint_selector_factory () |
Returns a pointer to the endpoint selector factory. | |
TAO_Protocols_Hooks * | get_protocols_hooks () |
Gets the value of TAO_ORB_Core::protocols_hooks__. | |
TAO_Network_Priority_Protocols_Hooks * | get_network_priority_protocols_hooks () |
Gets the value of TAO_ORB_Core::network_priority_protocols_hooks__. | |
int | is_collocated (const TAO_MProfile &mprofile) |
ACE_Allocator * | output_cdr_dblock_allocator () |
ACE_Allocator * | output_cdr_buffer_allocator () |
ACE_Allocator * | output_cdr_msgblock_allocator () |
ACE_Allocator * | input_cdr_dblock_allocator () |
ACE_Allocator * | input_cdr_buffer_allocator () |
ACE_Allocator * | input_cdr_msgblock_allocator () |
ACE_Allocator * | transport_message_buffer_allocator () |
ACE_Data_Block * | create_input_cdr_data_block (size_t size) |
ACE_Lock * | locking_strategy () |
Return the locking strategy used for the data blocks. | |
CORBA::Environment * | default_environment () const |
void | default_environment (CORBA::Environment *) |
Define the Timeout_Hook signature. | |
void | call_timeout_hook (TAO_Stub *stub, bool &has_timeout, ACE_Time_Value &time_value) |
Invoke the timeout hook if present. | |
void | set_timeout_hook (Timeout_Hook hook) |
Define the Timeout_Hook signature. | |
void | connection_timeout (TAO_Stub *stub, bool &has_timeout, ACE_Time_Value &time_value) |
Invoke the timeout hook if present. | |
void | call_sync_scope_hook (TAO_Stub *stub, bool &has_synchronization, Messaging::SyncScope &scope) |
Define the Timeout_Hook signature. | |
void | set_sync_scope_hook (Sync_Scope_Hook hook) |
Define the Timeout_Hook signature. | |
Messaging::SyncScope | default_sync_scope () |
Return the default sync scope configured for this ORB. | |
TAO_ORB_Core_TSS_Resources * | get_tss_resources () |
Obtain the TSS resources of this orb. | |
void * | get_tss_resource (size_t slot_id) |
Obtain the TSS resource in the given slot. | |
int | set_tss_resource (size_t slot_id, void *) |
int | add_tss_cleanup_func (ACE_CLEANUP_FUNC cleanup, size_t &slot_id) |
void | tss_cleanup (ACE_Array_Base< void * > &ts_objects) |
Cleans up ts_objects using the underlying TSS cleanup function registry. | |
TAO_Leader_Follower & | leader_follower () |
Get access to the leader_follower class. | |
TAO_LF_Strategy & | lf_strategy () |
Get access to the leader follower strategy. | |
TAO_Thread_Lane_Resources & | lane_resources () |
Get access to the thread lane resources. | |
int | run (ACE_Time_Value *tv, int perform_work) |
Run the event loop. | |
void | shutdown (CORBA::Boolean wait_for_completion) |
End the event loop. | |
bool | has_shutdown () const |
Get the shutdown flag value. | |
void | destroy () |
Shutdown the ORB and free resources. | |
void | check_shutdown () |
Check if ORB has shutdown. If it has, throw an exception. | |
int | thread_per_connection_timeout (ACE_Time_Value &timeout) const |
TAO_Stub * | create_stub_object (TAO_MProfile &mprofile, const char *type_id, CORBA::PolicyList *policy_list) |
TAO_Stub * | create_stub (const char *repository_id, const TAO_MProfile &profiles) |
CORBA::Object_ptr | create_object (TAO_Stub *the_stub) |
CORBA::Long | initialize_object (TAO_Stub *the_stub, CORBA::Object_ptr obj) |
CORBA::Long | reinitialize_object (TAO_Stub *stub) |
const char * | orbid () const |
Return ORBid string. | |
CORBA::Object_ptr | implrepo_service () |
Set/Get the IOR of the Implementation Repository service. | |
void | implrepo_service (const CORBA::Object_ptr ir) |
Define the Timeout_Hook signature. | |
CORBA::Boolean | use_implrepo () |
Do we attempt to register with the Implementation Repository. | |
CORBA::Boolean | imr_endpoints_in_ior () |
Do we put the ImR's endpoints into persistent object references we create. | |
CORBA::Object_ptr | resolve_typecodefactory () |
Resolve the TypeCodeFactory DLL. | |
CORBA::Object_ptr | resolve_poa_current () |
Resolve POA Current. | |
CORBA::Object_ptr | resolve_codecfactory () |
Resolve the CodecFactory DLL. | |
CORBA::Object_ptr | resolve_compression_manager () |
Resolve the Compression DLL. | |
CORBA::Object_ptr | resolve_dynanyfactory () |
Resolve the Dynamic Any Factory. | |
CORBA::Object_ptr | resolve_ior_manipulation () |
Resolve the IOR Manipulation reference for this ORB. | |
TAO_ZIOP_Adapter * | ziop_adapter_i () |
Define the Timeout_Hook signature. | |
CORBA::Object_ptr | resolve_ior_table () |
Resolve the IOR Table reference for this ORB. | |
CORBA::Object_ptr | resolve_async_ior_table () |
Resolve the Async IOR Table reference for this ORB. | |
CORBA::Object_ptr | resolve_monitor () |
Resolve the Monitor reference for this ORB. | |
CORBA::Object_ptr | resolve_rir (const char *name) |
Resolve an initial reference via the -ORBInitRef and. | |
const char * | server_id () const |
CORBA::ORB_ObjectIdList * | list_initial_references () |
List all the service known by the ORB. | |
unsigned long | _incr_refcnt () |
Reference counting... | |
unsigned long | _decr_refcnt () |
Define the Timeout_Hook signature. | |
unsigned long | _refcnt () const |
Define the Timeout_Hook signature. | |
int | register_handle (ACE_HANDLE handle) |
int | remove_handle (ACE_HANDLE handle) |
static void | set_resource_factory (const char *resource_factory_name) |
Sets the value of TAO_ORB_Core::resource_factory_. | |
static void | set_gui_resource_factory (TAO::GUIResource_Factory *gui_factory) |
static void | set_network_priority_protocols_hooks (const char *network_priority_protocols_hooks_name) |
Sets the value of TAO_ORB_Core::network_priority_protocols_hooks_. | |
static void | dynamic_adapter_name (const char *name) |
Sets the value of TAO_ORB_Core::dynamic_adapter_name_. | |
static const char * | dynamic_adapter_name () |
Gets the value of TAO_ORB_Core::dynamic_adapter_name_. | |
static void | ifr_client_adapter_name (const char *name) |
Sets the value of TAO_ORB_Core::ifr_client_adapter_name_. | |
static const char * | ifr_client_adapter_name () |
Gets the value of TAO_ORB_Core::ifr_client_adapter_name_. | |
static void | typecodefactory_adapter_name (const char *name) |
Sets the value of TAO_ORB_Core::typecodefactory_adapter_name_. | |
static const char * | typecodefactory_adapter_name () |
Gets the value of TAO_ORB_Core::typecodefactory_adapter_name_. | |
static void | iorinterceptor_adapter_factory_name (const char *name) |
Sets the value of TAO_ORB_Core::iorinterceptor_adapter_factory_name_. | |
static const char * | iorinterceptor_adapter_factory_name () |
Gets the value of TAO_ORB_Core::iorinterceptor_adapter_factory_name_. | |
static void | valuetype_adapter_factory_name (const char *name) |
Sets the value of TAO_ORB_Core::valuetype_adapter_factory_name. | |
static const char * | valuetype_adapter_factory_name () |
Gets the value of TAO_ORB_Core::valuetype_adapter_factory_name. | |
static void | connection_timeout_hook (Timeout_Hook hook) |
Define the Timeout_Hook signature. | |
static void | default_sync_scope_hook (TAO_ORB_Core *, TAO_Stub *, bool &has_synchronization, Messaging::SyncScope &scope) |
Default Sync_Scope_Hook. | |
Portable Interceptor Related Methods | |
These are support methods for interceptor registration and interceptor set (an array) access, in addition to PICurrent access. | |
typedef ACE_Array_Map< ACE_CString, ACE_CString > | InitRefMap |
Synchronize internal state... | |
bool | use_local_memory_pool_ |
Synchronize internal state... | |
TAO_SYNCH_MUTEX | lock_ |
Synchronize internal state... | |
TAO_Thread_Lane_Resources_Manager * | thread_lane_resources_manager_ |
Synchronize internal state... | |
TAO_Collocation_Resolver * | collocation_resolver_ |
Synchronize internal state... | |
TAO_Stub_Factory * | stub_factory_ |
Synchronize internal state... | |
TAO_ProtocolFactorySet * | protocol_factories_ |
Synchronize internal state... | |
CORBA::Object_ptr | implrepo_service_ |
The cached IOR for the Implementation Repository. | |
int | use_implrepo_ |
Flag for whether the implrepo support is enabled or not. | |
int | imr_endpoints_in_ior_ |
Flag for whether to put the ImR endpoints into our object refs. | |
CORBA::Object_ptr | typecode_factory_ |
The cached IOR for the TypeCodeFactory DLL. | |
CORBA::Object_ptr | codec_factory_ |
The cached IOR for the CodecFactory DLL. | |
CORBA::Object_ptr | compression_manager_ |
The cached IOR for the Compression DLL. | |
CORBA::Object_ptr | dynany_factory_ |
The cached object reference for the DynAnyFactory. | |
CORBA::Object_ptr | ior_manip_factory_ |
The cached object reference for the IORManipulataion. | |
CORBA::Object_ptr | ior_table_ |
The cached object reference for the IORTable. | |
CORBA::Object_ptr | async_ior_table_ |
The cached object reference for the Async_IORTable. | |
CORBA::Object_ptr | monitor_ |
The cached object reference for the Monitor. | |
CORBA::ORB_ptr | orb_ |
CORBA::Object_var | root_poa_ |
TAO_ORB_Parameters | orb_params_ |
Parameters used by the ORB. | |
InitRefMap | init_ref_map_ |
Return InitRefMap to find if a particular object id is present. | |
TAO_Object_Ref_Table | object_ref_table_ |
TAO::ObjectKey_Table | object_key_table_ |
Table that stores the object key instead of caching one per-profile. | |
char * | orbid_ |
The ORBid for this ORB. | |
TAO_Resource_Factory * | resource_factory_ |
Handle to the factory for resource information.. | |
ACE_CString | server_id_ |
The server_id_ that was passed via -ORBServerId option. | |
TAO_Client_Strategy_Factory * | client_factory_ |
Handle to the factory for Client-side strategies. | |
TAO_Server_Strategy_Factory * | server_factory_ |
Handle to the factory for Server-side strategies. | |
void | add_interceptor (PortableInterceptor::IORInterceptor_ptr interceptor) |
Register an IOR interceptor. | |
TAO_Valuetype_Adapter * | valuetype_adapter () |
Return the valuetype adapter. | |
CORBA::ValueFactory | register_value_factory (const char *repository_id, CORBA::ValueFactory factory) |
Value factory operations (CORBA 2.3 ptc/98-10-05 Ch. 4.2 p.4-7) | |
void | unregister_value_factory (const char *repository_id) |
Synchronize internal state... | |
CORBA::ValueFactory | lookup_value_factory (const char *repository_id) |
Synchronize internal state... | |
TAO_IORInterceptor_Adapter * | ior_interceptor_adapter () |
CORBA::Boolean | bidir_giop_policy () |
void | bidir_giop_policy (CORBA::Boolean) |
Synchronize internal state... | |
TAO_Object_Ref_Table & | object_ref_table () |
TAO::ObjectKey_Table & | object_key_table () |
Acceessor to the table that stores the object_keys. | |
TAO_Request_Dispatcher * | request_dispatcher () |
Return the current request dispatcher strategy. | |
void | request_dispatcher (TAO_Request_Dispatcher *rd) |
void | load_policy_validators (TAO_Policy_Validator &validator) |
TAO_Flushing_Strategy * | flushing_strategy () |
Return the flushing strategy. | |
TAO_Codeset_Manager * | codeset_manager () |
Get Code Set Manager. | |
InitRefMap * | init_ref_map () |
Return a pointer to the -ORBInitRef map. | |
void | set_default (const char *orb_id) |
void | not_default (const char *orb_id) |
Choose to be not a default ORB when there is more than one ORB. | |
CORBA::Boolean | is_permanent_forward_condition (const CORBA::Object_ptr obj, const TAO_Service_Context &service_context) |
ACE_Service_Gestalt * | configuration () const |
Configuration accessor method. | |
TAO_GIOP_Fragmentation_Strategy * | fragmentation_strategy (TAO_Transport *transport) |
Get outgoing fragmentation strategy. | |
~TAO_ORB_Core () | |
int | init (int &argc, char *argv[]) |
int | fini () |
ACE_Data_Block * | create_data_block_i (size_t size, ACE_Allocator *buffer_allocator, ACE_Allocator *dblock_allocator, ACE_Lock *lock) |
Routine that creates a ACE_Data_Block given the lock and allocators. | |
void | resolve_typecodefactory_i () |
Obtain and cache the typecode factory object reference. | |
void | resolve_poa_current_i () |
Obtain and cache the poa current. | |
void | resolve_codecfactory_i () |
Obtain and cache the codec factory object reference. | |
void | resolve_compression_manager_i () |
Obtain and cache the compression manager object reference. | |
void | resolve_dynanyfactory_i () |
Obtain and cache the dynamic any factory object reference. | |
void | resolve_iormanipulation_i () |
Obtain and cache the IORManipulation factory object reference. | |
void | resolve_monitor_i () |
Obtain and cache the Monitor object reference. | |
void | services_callbacks_init () |
void | destroy_interceptors () |
int | set_endpoint_helper (const ACE_CString &lane, const ACE_CString &endpoints) |
TAO::PolicyFactory_Registry_Adapter * | policy_factory_registry_i () |
TAO::ORBInitializer_Registry_Adapter * | orbinitializer_registry_i () |
CORBA::Long | initialize_object_i (TAO_Stub *the_stub, const TAO_MProfile &mprofile) |
Common code from initialize_object and reinitialize_object. | |
TAO_ORB_Core (const TAO_ORB_Core &) | |
The ORB Core should not be copied. | |
void | operator= (const TAO_ORB_Core &) |
Synchronize internal state... | |
void | resolve_ior_table_i () |
Obtain and cache the ior table object reference. | |
void | resolve_async_ior_table_i () |
Obtain and cache the async ior table object reference. | |
CORBA::Boolean | is_collocation_enabled (TAO_ORB_Core *other_orb, const TAO_MProfile &mp) |
Service Level Hooks | |
TAO_Fault_Tolerance_Service | ft_service_ |
Fault Tolerant service hook. | |
CORBA::Boolean | ft_send_extended_sc_ |
CORBA::Boolean | opt_for_collocation_ |
CORBA::Boolean | use_global_collocation_ |
CORBA::ULong | collocation_strategy_ |
Default collocation policy. This should never be ORB_CONTROL. | |
TAO_Request_Dispatcher * | request_dispatcher_ |
The request dispatching strategy. | |
CORBA::Object_var | poa_current_ |
TAO_Adapter_Registry | adapter_registry_ |
The list of Adapters used in this ORB. | |
TAO_Adapter * | poa_adapter_ |
An optimization for the POA. | |
ACE_Thread_Manager | tm_ |
The Thread Manager. | |
ACE_Lock_Adapter< TAO_SYNCH_MUTEX > | data_block_lock_ |
The data block reference counts are locked using this mutex. | |
TAO_Cleanup_Func_Registry | tss_cleanup_funcs_ |
bool | has_shutdown_ |
Flag which denotes that the ORB has been shutdown. | |
int | thread_per_connection_use_timeout_ |
The value of the timeout if the flag above is not zero. | |
ACE_Time_Value | thread_per_connection_timeout_ |
Fault Tolerant service hook. | |
TAO_SYNCH_MUTEX | open_lock_ |
Mutual exclusion for calling open. | |
TAO_Endpoint_Selector_Factory * | endpoint_selector_factory_ |
Fault Tolerant service hook. | |
std::atomic< uint32_t > | refcount_ |
Number of outstanding references to this object. | |
TAO::PolicyFactory_Registry_Adapter * | policy_factory_registry_ |
Registry containing all registered policy factories. | |
TAO::ORBInitializer_Registry_Adapter * | orbinitializer_registry_ |
Registry containing all orb initializers. | |
TAO_Service_Context_Registry | service_context_registry_ |
Registry containing all service context handlers. | |
TAO_IORInterceptor_Adapter * | ior_interceptor_adapter_ |
IORInterceptor adapter. | |
TAO_Valuetype_Adapter * | valuetype_adapter_ |
Pointer to the valuetype adapter. | |
TAO_Parser_Registry | parser_registry_ |
The IOR parser registry. | |
TAO_BiDir_Adapter * | bidir_adapter_ |
BiDirectional GIOP factory. | |
CORBA::Boolean | bidir_giop_policy_ |
Bir Dir GIOP policy value. | |
TAO_ZIOP_Adapter * | ziop_adapter_ |
ZIOP Adapter. | |
CORBA::Boolean | ziop_enabled_ |
ZIOP enabled or not. | |
TAO_Flushing_Strategy * | flushing_strategy_ |
Hold the flushing strategy. | |
TAO_Codeset_Manager * | codeset_manager_ |
Code Set Manager, received from the Resource Factory. | |
ACE_Intrusive_Auto_Ptr< ACE_Service_Gestalt > | config_ |
ORB's service configuration. | |
Sync_Scope_Hook | sync_scope_hook_ |
The hook to be set for the SyncScopePolicy. | |
Messaging::SyncScope | default_sync_scope_ |
The configured value used as the default sync scope. | |
Timeout_Hook | timeout_hook_ |
The hook to be set for the RelativeRoundtripTimeoutPolicy. | |
ACE_TSS_TYPE (TAO_ORB_Core_TSS_Resources) tss_resources_ | |
This is where the tss resources for this ORB are stored. | |
Encapsulates the state of an ORB.
This is the implementation class for the CORBA::ORB interface. The class also encapsulates the access to the ORB resources and its state.
Synchronize internal state...
typedef void(* TAO_ORB_Core::Sync_Scope_Hook) (TAO_ORB_Core *, TAO_Stub *, bool &, Messaging::SyncScope &) |
Define the Timeout_Hook signature.
typedef void(* TAO_ORB_Core::Timeout_Hook) (TAO_ORB_Core *, TAO_Stub *, bool &, ACE_Time_Value &) |
Define the Timeout_Hook signature.
anonymous enum |
Set/get the collocation flags.
Enumerator | |
---|---|
ORB_CONTROL | Indicate object should refer to ORB for either one of the following strategies. |
TAO_COLLOCATION_THRU_POA | Collocated calls will go thru POA. |
TAO_COLLOCATION_DIRECT | Collocated calls invoke operation on Servant directly. |
TAO_COLLOCATION_BEST | Collocated calls invoke operation on Servant directly if possible, else Collocated calls will go thru POA if possible, else use REMOTE_STRATEGY |
TAO_ORB_Core::TAO_ORB_Core | ( | const char * | id, |
ACE_Intrusive_Auto_Ptr< ACE_Service_Gestalt > | g ) |
Constructor.
|
protected |
Destructor is protected since the ORB Core is a reference counted object.
|
private |
The ORB Core should not be copied.
unsigned long TAO_ORB_Core::_decr_refcnt | ( | ) |
Define the Timeout_Hook signature.
unsigned long TAO_ORB_Core::_incr_refcnt | ( | ) |
Reference counting...
unsigned long TAO_ORB_Core::_refcnt | ( | ) | const |
Define the Timeout_Hook signature.
|
protected |
This is where the tss resources for this ORB are stored.
TAO_Adapter_Registry & TAO_ORB_Core::adapter_registry | ( | ) |
Get the adapter registry.
void TAO_ORB_Core::add_interceptor | ( | PortableInterceptor::IORInterceptor_ptr | interceptor | ) |
Register an IOR interceptor.
int TAO_ORB_Core::add_tss_cleanup_func | ( | ACE_CLEANUP_FUNC | cleanup, |
size_t & | slot_id ) |
Register a TSS cleanup function. The slot ID for the corresponding ORB core TSS resource is returned by the reference argument. This method return 0 on success, and -1 on failure.
CORBA::Boolean TAO_ORB_Core::bidir_giop_policy | ( | ) |
void TAO_ORB_Core::bidir_giop_policy | ( | CORBA::Boolean | val | ) |
Synchronize internal state...
void TAO_ORB_Core::call_sync_scope_hook | ( | TAO_Stub * | stub, |
bool & | has_synchronization, | ||
Messaging::SyncScope & | scope ) |
Define the Timeout_Hook signature.
void TAO_ORB_Core::call_timeout_hook | ( | TAO_Stub * | stub, |
bool & | has_timeout, | ||
ACE_Time_Value & | time_value ) |
Invoke the timeout hook if present.
The timeout hook is used to determine if the timeout policy is set and with what value. If the ORB is compiled without support for Messaging this feature does not take effect
has_timeout | returns 0 if there is no timeout policy set. |
time_value | returns the timeout value in effect for the object, thread and current ORB. |
void TAO_ORB_Core::check_shutdown | ( | ) |
Check if ORB has shutdown. If it has, throw an exception.
TAO_Client_Strategy_Factory * TAO_ORB_Core::client_factory | ( | ) |
Returns pointer to the client factory.
TAO_Codeset_Manager * TAO_ORB_Core::codeset_manager | ( | ) |
Get Code Set Manager.
TAO_Collocation_Resolver & TAO_ORB_Core::collocation_resolver | ( | ) |
Returns a pointer to the Collocation Resolver.
ACE_Service_Gestalt * TAO_ORB_Core::configuration | ( | ) | const |
Configuration accessor method.
void TAO_ORB_Core::connection_timeout | ( | TAO_Stub * | stub, |
bool & | has_timeout, | ||
ACE_Time_Value & | time_value ) |
Invoke the timeout hook if present.
The timeout hook is used to determine if the timeout policy is set and with what value. If the ORB is compiled without support for Messaging this feature does not take effect
has_timeout | returns 0 if there is no timeout policy set. |
time_value | returns the timeout value in effect for the object, thread and current ORB. |
|
static |
Define the Timeout_Hook signature.
The connection timeout hook was originally defined to allow the TAO Messaging code to be factored out of the core TAO library and placed in to an optional library. Since then, a new invocation endpoint selector, the optimised connection endpoint selector (see Strategies/OC_Endpoint_Selector.h) reused this connection timeout hook. However, this set up a problem when both the Messaging library and OCES are being used in the same application.
The solution was to add a new connection timeout hook attribute (see alt_connection_timeout_hook_ below). This method now checks to see if the connection timeout hook is already set, and if so assigns the supplied hook value to the alternate connection timeout hook. This functionality has a side-effect of assuming that hooks are NEVER unloaded or actively replaced. IOW, no one will call this method with a 0 or some other pointer value to replace an existing hook.
If such functionality as unloading a hook pointer is required, then this method must be extended to give some kind of identity for the hook. Additional changes to the definition of the hook will also be necessary to support such identity and manipulation.
TAO_Connector_Registry * TAO_ORB_Core::connector_registry | ( | ) |
Get the connector registry.
|
protected |
Routine that creates a ACE_Data_Block given the lock and allocators.
ACE_Data_Block * TAO_ORB_Core::create_input_cdr_data_block | ( | size_t | size | ) |
The Message Blocks used for input CDRs must have appropriate locking strategies.
CORBA::Object_ptr TAO_ORB_Core::create_object | ( | TAO_Stub * | the_stub | ) |
Create a new object, use the adapter registry to create a collocated object, if not possible then create a regular object.
TAO_Stub * TAO_ORB_Core::create_stub | ( | const char * | repository_id, |
const TAO_MProfile & | profiles ) |
Factory method that create the "right" Stub depending on whether RTCORBA is loaded or not. The factory used to create the stub, is loaded at ORB initialization, and its type depends on the fact that RTCORBA is being used or not.
TAO_Stub * TAO_ORB_Core::create_stub_object | ( | TAO_MProfile & | mprofile, |
const char * | type_id, | ||
CORBA::PolicyList * | policy_list ) |
CORBA::Environment * TAO_ORB_Core::default_environment | ( | ) | const |
The thread has a default environment to simplify porting between platforms that support native C++ exceptions and those that don't. This is a TSS resource (always), but with a twist: if the user creates a new environment the old one is "pushed" (actually the new one remembers it), eventually the new environment destructor pops itself from the stack and we recover the old environment.
void TAO_ORB_Core::default_environment | ( | CORBA::Environment * | env | ) |
Define the Timeout_Hook signature.
Messaging::SyncScope TAO_ORB_Core::default_sync_scope | ( | ) |
Return the default sync scope configured for this ORB.
|
static |
Default Sync_Scope_Hook.
void TAO_ORB_Core::destroy | ( | ) |
Shutdown the ORB and free resources.
|
protected |
Helper method that invokes Interceptor::destroy() on all registered interceptors when ORB::destroy() is called. Prevents exceptions from propagating up the call chain.
|
static |
Gets the value of TAO_ORB_Core::dynamic_adapter_name_.
|
static |
Sets the value of TAO_ORB_Core::dynamic_adapter_name_.
TAO_Endpoint_Selector_Factory * TAO_ORB_Core::endpoint_selector_factory | ( | ) |
Returns a pointer to the endpoint selector factory.
TAO_Fault_Tolerance_Service & TAO_ORB_Core::fault_tolerance_service | ( | ) |
Return a reference to the Fault Tolerant service object.
|
protected |
Final termination hook, typically called by CORBA::ORB's destructor.
TAO_Flushing_Strategy * TAO_ORB_Core::flushing_strategy | ( | ) |
TAO_GIOP_Fragmentation_Strategy * TAO_ORB_Core::fragmentation_strategy | ( | TAO_Transport * | transport | ) |
Get outgoing fragmentation strategy.
CORBA::Boolean TAO_ORB_Core::ft_send_extended_sc | ( | ) |
Transmit the entire TAG_FT_GROUP component data from a server IOGR as a FT_GROUP_VERSION tagged service context on requests to that IOGR instead of just the group version.
CORBA::ULong TAO_ORB_Core::get_collocation_strategy | ( | ) | const |
Set/get the collocation flags.
TAO_Network_Priority_Protocols_Hooks * TAO_ORB_Core::get_network_priority_protocols_hooks | ( | ) |
Gets the value of TAO_ORB_Core::network_priority_protocols_hooks__.
TAO_Protocols_Hooks * TAO_ORB_Core::get_protocols_hooks | ( | ) |
Gets the value of TAO_ORB_Core::protocols_hooks__.
void * TAO_ORB_Core::get_tss_resource | ( | size_t | slot_id | ) |
Obtain the TSS resource in the given slot.
TAO_ORB_Core_TSS_Resources * TAO_ORB_Core::get_tss_resources | ( | ) |
Obtain the TSS resources of this orb.
TAO::GUIResource_Factory * TAO_ORB_Core::gui_resource_factory | ( | ) |
Returns pointer to the factory for creating gui resources.
bool TAO_ORB_Core::has_shutdown | ( | ) | const |
Get the shutdown flag value.
CORBA::ULong TAO_ORB_Core::hash_service | ( | TAO_Profile * | this_p, |
CORBA::ULong | max ) |
Hook for the services to determine the <hash> value of a profile. For details on how this is used please see the FT service
|
static |
Gets the value of TAO_ORB_Core::ifr_client_adapter_name_.
|
static |
Sets the value of TAO_ORB_Core::ifr_client_adapter_name_.
CORBA::Object_ptr TAO_ORB_Core::implrepo_service | ( | ) |
Set/Get the IOR of the Implementation Repository service.
void TAO_ORB_Core::implrepo_service | ( | const CORBA::Object_ptr | ir | ) |
Define the Timeout_Hook signature.
CORBA::Boolean TAO_ORB_Core::imr_endpoints_in_ior | ( | ) |
Do we put the ImR's endpoints into persistent object references we create.
|
protected |
Initialize the guts of the ORB Core. It is intended that this be called by CORBA::ORB_init().
TAO_ORB_Core::InitRefMap * TAO_ORB_Core::init_ref_map | ( | ) |
Return a pointer to the -ORBInitRef map.
CORBA::Long TAO_ORB_Core::initialize_object | ( | TAO_Stub * | the_stub, |
CORBA::Object_ptr | obj ) |
Initialize a new object, use the adapter registry to initialize a collocated object, if not possible then initialize a regular object. NOTE: Why would this method be required? The answer is if the user decides to use lazy initialization of CORBA object, then this is the route that we have to take to do the initialization.
|
protected |
Common code from initialize_object and reinitialize_object.
ACE_Allocator * TAO_ORB_Core::input_cdr_buffer_allocator | ( | ) |
This allocator is always global and has no locks. It is intended for allocating the buffers used in incoming CDR streams.
ACE_Allocator * TAO_ORB_Core::input_cdr_dblock_allocator | ( | ) |
This allocator is global, may or may not have locks. It is intended for allocating the ACE_Data_Blocks used in incoming CDR streams.
ACE_Allocator * TAO_ORB_Core::input_cdr_msgblock_allocator | ( | ) |
This allocator is always global and has no locks. It is intended for allocating the buffers used in incoming CDR streams.
TAO_IORInterceptor_Adapter * TAO_ORB_Core::ior_interceptor_adapter | ( | ) |
Get the IOR Interceptor adapter. If not created, this method will try to create one.
|
static |
Gets the value of TAO_ORB_Core::iorinterceptor_adapter_factory_name_.
|
static |
Sets the value of TAO_ORB_Core::iorinterceptor_adapter_factory_name_.
int TAO_ORB_Core::is_collocated | ( | const TAO_MProfile & | mprofile | ) |
See if we have a collocated address, if yes, return the POA associated with the address.
|
private |
Checks to see whether collocation optimizations have to be applied on objects in the other_orb
CORBA::Boolean TAO_ORB_Core::is_permanent_forward_condition | ( | const CORBA::Object_ptr | obj, |
const TAO_Service_Context & | service_context ) |
Verify condition for permanent forward is given, both parameters must provide group attributes.
TAO_Service_Callbacks::Profile_Equivalence TAO_ORB_Core::is_profile_equivalent | ( | const TAO_Profile * | this_p, |
const TAO_Profile * | that_p ) |
Hook for the services to determine whether the profiles are equivalent or not. For details on how this is used please see the FT service
TAO_Thread_Lane_Resources & TAO_ORB_Core::lane_resources | ( | ) |
Get access to the thread lane resources.
TAO_Leader_Follower & TAO_ORB_Core::leader_follower | ( | ) |
Get access to the leader_follower class.
TAO_LF_Strategy & TAO_ORB_Core::lf_strategy | ( | ) |
Get access to the leader follower strategy.
CORBA::ORB::ObjectIdList * TAO_ORB_Core::list_initial_references | ( | ) |
List all the service known by the ORB.
void TAO_ORB_Core::load_policy_validators | ( | TAO_Policy_Validator & | validator | ) |
Call the libraries to handover the validators if they haven't registered yet with the list of validators.
ACE_Lock * TAO_ORB_Core::locking_strategy | ( | ) |
Return the locking strategy used for the data blocks.
CORBA::ValueFactory TAO_ORB_Core::lookup_value_factory | ( | const char * | repository_id | ) |
Synchronize internal state...
void TAO_ORB_Core::not_default | ( | const char * | orb_id | ) |
CORBA::Boolean TAO_ORB_Core::object_is_nil | ( | CORBA::Object_ptr | object | ) |
The loaded service would determine if the CORBA::Object_ptr is actually nil or not. This would be useful to accomodate new enhanced definitions as defined by the service specification.
TAO::ObjectKey_Table & TAO_ORB_Core::object_key_table | ( | ) |
Acceessor to the table that stores the object_keys.
TAO_Object_Ref_Table & TAO_ORB_Core::object_ref_table | ( | ) |
Return the table that maps object key/name to de-stringified object reference. It is needed for supporting local objects in the resolve_initial_references() mechanism.
|
private |
Synchronize internal state...
CORBA::Boolean TAO_ORB_Core::optimize_collocation_objects | ( | ) | const |
Set/get the collocation flags.
void TAO_ORB_Core::optimize_collocation_objects | ( | CORBA::Boolean | opt | ) |
Set/get the collocation flags.
CORBA::ORB_ptr TAO_ORB_Core::orb | ( | ) |
Get pointer to the ORB.
TAO_ORB_Parameters * TAO_ORB_Core::orb_params | ( | ) |
Accessor for the ORB parameters.
const char * TAO_ORB_Core::orbid | ( | ) | const |
Return ORBid string.
TAO::ORBInitializer_Registry_Adapter * TAO_ORB_Core::orbinitializer_registry | ( | ) |
Return pointer to the orb initializer registry associated with this ORB core. Tries to load the PI library if it is not loaded yet
|
protected |
Return pointer to the orb initializer registry associated with this ORB core.
ACE_Allocator * TAO_ORB_Core::output_cdr_buffer_allocator | ( | ) |
This allocator is always TSS and has no locks. It is intended for allocating the buffers used in outgoing CDR streams.
ACE_Allocator * TAO_ORB_Core::output_cdr_dblock_allocator | ( | ) |
This allocator is always TSS and has no locks. It is intended for allocating the ACE_Data_Blocks used in outgoing CDR streams.
ACE_Allocator * TAO_ORB_Core::output_cdr_msgblock_allocator | ( | ) |
This allocator is always TSS and has no locks. It is intended for allocating the ACE_Data_Blocks used in outgoing CDR streams.
TAO_Parser_Registry * TAO_ORB_Core::parser_registry | ( | ) |
Get the IOR parser registry.
TAO_Adapter * TAO_ORB_Core::poa_adapter | ( | ) |
Get the adapter named "RootPOA" and cache the result, this is an optimization for the POA.
CORBA::Object_ptr TAO_ORB_Core::poa_current | ( | ) |
TAO::PolicyFactory_Registry_Adapter * TAO_ORB_Core::policy_factory_registry | ( | ) |
Return pointer to the policy factory registry associated with this ORB core.
|
protected |
Return pointer to the policy factory registry associated with this ORB core.
TAO_ProtocolFactorySet * TAO_ORB_Core::protocol_factories | ( | ) |
Get the protocol factories.
TAO_Protocols_Hooks * TAO_ORB_Core::protocols_hooks | ( | ) |
Returns pointer to the Protocols_Hooks.
ACE_Reactor * TAO_ORB_Core::reactor | ( | ) |
Wrappers that forward the request to the concurrency strategy.
int TAO_ORB_Core::register_handle | ( | ACE_HANDLE | handle | ) |
Register the handle of an open connection with the ORB Core handle set. This handle set will be used to explicitly remove corresponding event handlers from the reactor.
CORBA::ValueFactory TAO_ORB_Core::register_value_factory | ( | const char * | repository_id, |
CORBA::ValueFactory | factory ) |
Value factory operations (CORBA 2.3 ptc/98-10-05 Ch. 4.2 p.4-7)
CORBA::Long TAO_ORB_Core::reinitialize_object | ( | TAO_Stub * | stub | ) |
Reinitialise a stub after the effective profile has changed. This will happen after a location forward has been received or if a location forward supplied new target subsequently fails.
int TAO_ORB_Core::remove_handle | ( | ACE_HANDLE | handle | ) |
TAO_Request_Dispatcher * TAO_ORB_Core::request_dispatcher | ( | ) |
Return the current request dispatcher strategy.
void TAO_ORB_Core::request_dispatcher | ( | TAO_Request_Dispatcher * | rd | ) |
Set a new request dispatcher. The ORB Core retains ownership of the request dispatcher once it gets it. Currently, this only gets called at initialization.
CORBA::Object_ptr TAO_ORB_Core::resolve_async_ior_table | ( | ) |
Resolve the Async IOR Table reference for this ORB.
|
private |
Obtain and cache the async ior table object reference.
CORBA::Object_ptr TAO_ORB_Core::resolve_codecfactory | ( | ) |
Resolve the CodecFactory DLL.
|
protected |
Obtain and cache the codec factory object reference.
CORBA::Object_ptr TAO_ORB_Core::resolve_compression_manager | ( | ) |
Resolve the Compression DLL.
|
protected |
Obtain and cache the compression manager object reference.
CORBA::Object_ptr TAO_ORB_Core::resolve_dynanyfactory | ( | ) |
Resolve the Dynamic Any Factory.
|
protected |
Obtain and cache the dynamic any factory object reference.
CORBA::Object_ptr TAO_ORB_Core::resolve_ior_manipulation | ( | ) |
Resolve the IOR Manipulation reference for this ORB.
CORBA::Object_ptr TAO_ORB_Core::resolve_ior_table | ( | ) |
Resolve the IOR Table reference for this ORB.
|
private |
Obtain and cache the ior table object reference.
|
protected |
Obtain and cache the IORManipulation factory object reference.
CORBA::Object_ptr TAO_ORB_Core::resolve_monitor | ( | ) |
Resolve the Monitor reference for this ORB.
|
protected |
Obtain and cache the Monitor object reference.
CORBA::Object_ptr TAO_ORB_Core::resolve_poa_current | ( | ) |
Resolve POA Current.
|
protected |
Obtain and cache the poa current.
CORBA::Object_ptr TAO_ORB_Core::resolve_rir | ( | const char * | name | ) |
Resolve an initial reference via the -ORBInitRef and.
CORBA::Object_ptr TAO_ORB_Core::resolve_typecodefactory | ( | ) |
Resolve the TypeCodeFactory DLL.
|
protected |
Obtain and cache the typecode factory object reference.
TAO_Resource_Factory * TAO_ORB_Core::resource_factory | ( | ) |
Returns pointer to the resource factory.
CORBA::Object_ptr TAO_ORB_Core::root_poa | ( | ) |
Return the RootPOA, or try to load it if not initialized already.
int TAO_ORB_Core::run | ( | ACE_Time_Value * | tv, |
int | perform_work ) |
Run the event loop.
TAO_Server_Strategy_Factory * TAO_ORB_Core::server_factory | ( | ) |
Returns pointer to the server factory.
const char * TAO_ORB_Core::server_id | ( | ) | const |
Resolve the RT Current flyweight for this ORB. Return server_id string.
TAO_Service_Context_Registry & TAO_ORB_Core::service_context_registry | ( | ) |
CORBA::Boolean TAO_ORB_Core::service_profile_selection | ( | const TAO_MProfile & | mprofile, |
TAO_Profile *& | profile ) |
The loaded service in the ORB_Core would determine if the profile selection is going to be made by the services or not. If the services do make the selection they would return the selected profile through <profile>.
TAO::Invocation_Status TAO_ORB_Core::service_raise_comm_failure | ( | IOP::ServiceContextList & | clist, |
TAO_Profile * | profile ) |
Raise a comm failure exception if a service is not loaded, else delegate to the service to see what the service has to do for this case.
TAO::Invocation_Status TAO_ORB_Core::service_raise_transient_failure | ( | IOP::ServiceContextList & | clist, |
TAO_Profile * | profile ) |
Raise a transient failure exception if a service is not loaded, else delegate to the service to see what the service has to do for this case.
|
protected |
Search the Dynamic service list for well known services that has callbacks which can be dynamically loaded.
void TAO_ORB_Core::set_default | ( | const char * | orb_id | ) |
|
protected |
Pointer to the list of protocol loaded into this ORB instance. Helper method to hold the common code part for -ORBEndpoint and -ORBListenEndpoints options.
|
static |
Sets the value of TAO_ORB_Core::gui_resource_factory_.
Sets the value of gui_resource_factory in TSS. ORB_Core is responsible for releasing this factory if needed.
|
static |
Sets the value of TAO_ORB_Core::network_priority_protocols_hooks_.
|
static |
Sets the value of TAO_ORB_Core::resource_factory_.
void TAO_ORB_Core::set_sync_scope_hook | ( | Sync_Scope_Hook | hook | ) |
Define the Timeout_Hook signature.
void TAO_ORB_Core::set_timeout_hook | ( | Timeout_Hook | hook | ) |
Define the Timeout_Hook signature.
int TAO_ORB_Core::set_tss_resource | ( | size_t | slot_id, |
void * | ts_object ) |
Set the TSS resource at the given slot. Returns 0 on success, and -1 on failure.
void TAO_ORB_Core::shutdown | ( | CORBA::Boolean | wait_for_completion | ) |
End the event loop.
TAO_Stub_Factory * TAO_ORB_Core::stub_factory | ( | ) |
Returns a pointer to the Stub factory.
ACE_Thread_Manager * TAO_ORB_Core::thr_mgr | ( | ) |
Get the ACE_Thread_Manager.
TAO_Thread_Lane_Resources_Manager & TAO_ORB_Core::thread_lane_resources_manager | ( | ) |
Returns a pointer to the Thread Lane Resources Manager.
int TAO_ORB_Core::thread_per_connection_timeout | ( | ACE_Time_Value & | timeout | ) | const |
Returns the timeout value used by the server threads to poll the shutdown flag. If the return value is zero then the server threads block forever.
ACE_Allocator * TAO_ORB_Core::transport_message_buffer_allocator | ( | ) |
This allocator is always global and has no locks. It is intended for allocating the buffers used to queue messages in transports.
void TAO_ORB_Core::tss_cleanup | ( | ACE_Array_Base< void * > & | ts_objects | ) |
Cleans up ts_objects using the underlying TSS cleanup function registry.
|
static |
Gets the value of TAO_ORB_Core::typecodefactory_adapter_name_.
|
static |
Sets the value of TAO_ORB_Core::typecodefactory_adapter_name_.
void TAO_ORB_Core::unregister_value_factory | ( | const char * | repository_id | ) |
Synchronize internal state...
CORBA::Boolean TAO_ORB_Core::use_global_collocation | ( | ) | const |
Set/get the collocation flags.
void TAO_ORB_Core::use_global_collocation | ( | CORBA::Boolean | opt | ) |
Set/get the collocation flags.
CORBA::Boolean TAO_ORB_Core::use_implrepo | ( | ) |
Do we attempt to register with the Implementation Repository.
TAO_Valuetype_Adapter * TAO_ORB_Core::valuetype_adapter | ( | ) |
Return the valuetype adapter.
|
static |
Gets the value of TAO_ORB_Core::valuetype_adapter_factory_name.
|
static |
Sets the value of TAO_ORB_Core::valuetype_adapter_factory_name.
TAO_ZIOP_Adapter * TAO_ORB_Core::ziop_adapter | ( | ) | const |
void TAO_ORB_Core::ziop_adapter | ( | TAO_ZIOP_Adapter * | adapter | ) |
TAO_ZIOP_Adapter * TAO_ORB_Core::ziop_adapter_i | ( | ) |
Define the Timeout_Hook signature.
|
friend |
|
friend |
|
protected |
The list of Adapters used in this ORB.
|
protected |
The cached object reference for the Async_IORTable.
|
protected |
BiDirectional GIOP factory.
|
protected |
Bir Dir GIOP policy value.
|
protected |
Handle to the factory for Client-side strategies.
|
protected |
The cached IOR for the CodecFactory DLL.
|
protected |
Code Set Manager, received from the Resource Factory.
|
protected |
Synchronize internal state...
|
protected |
Default collocation policy. This should never be ORB_CONTROL.
|
protected |
The cached IOR for the Compression DLL.
|
protected |
ORB's service configuration.
|
protected |
The data block reference counts are locked using this mutex.
|
protected |
The configured value used as the default sync scope.
|
protected |
The cached object reference for the DynAnyFactory.
|
protected |
Fault Tolerant service hook.
|
protected |
Hold the flushing strategy.
|
protected |
TRUE transmits a full TAG_FT_GROUP component in place of the FT_GROUP_VERSION context on FT requests. This is contrary to the spec but enables more effective fault tolerant stuff.
|
protected |
Fault Tolerant service hook.
|
protected |
Flag which denotes that the ORB has been shutdown.
|
protected |
The cached IOR for the Implementation Repository.
|
protected |
Flag for whether to put the ImR endpoints into our object refs.
|
protected |
Return InitRefMap to find if a particular object id is present.
|
protected |
IORInterceptor adapter.
|
protected |
The cached object reference for the IORManipulataion.
|
protected |
The cached object reference for the IORTable.
|
protected |
Synchronize internal state...
|
protected |
The cached object reference for the Monitor.
TAO_Network_Priority_Protocols_Hooks* TAO_ORB_Core::network_priority_protocols_hooks_ |
Handle to the factory for network_priority_protocols_hooks_..
|
protected |
Table that stores the object key instead of caching one per-profile.
|
protected |
Table that maps object key/name to (de-stringified) object reference. It is needed for supporting local objects in the resolve_initial_references() mechanism.
|
protected |
Mutual exclusion for calling open.
|
protected |
TRUE if we want to take advantage of collocation optimization in this ORB.
|
protected |
Pointer to the ORB.
|
protected |
Parameters used by the ORB.
|
protected |
The ORBid for this ORB.
|
protected |
Registry containing all orb initializers.
|
protected |
The IOR parser registry.
|
protected |
An optimization for the POA.
|
protected |
POA current.
|
protected |
Registry containing all registered policy factories.
|
protected |
Synchronize internal state...
TAO_Protocols_Hooks* TAO_ORB_Core::protocols_hooks_ |
Handle to the factory for protocols_hooks_..
|
protected |
Number of outstanding references to this object.
|
protected |
The request dispatching strategy.
|
protected |
Handle to the factory for resource information..
|
protected |
Object reference to the root POA. It will eventually be the object reference returned by calls to CORBA::ORB::resolve_initial_references ("RootPOA").
|
protected |
Handle to the factory for Server-side strategies.
|
protected |
The server_id_ that was passed via -ORBServerId option.
|
protected |
Registry containing all service context handlers.
|
protected |
Synchronize internal state...
|
protected |
The hook to be set for the SyncScopePolicy.
|
protected |
Synchronize internal state...
|
protected |
Fault Tolerant service hook.
|
protected |
The value of the timeout if the flag above is not zero.
|
protected |
The hook to be set for the RelativeRoundtripTimeoutPolicy.
|
protected |
The Thread Manager.
|
protected |
TSS Object cleanup functions. These correspond to the TSS objects stored in TAO's TSS resources.
|
protected |
The cached IOR for the TypeCodeFactory DLL.
|
protected |
TRUE if we want to consider all ORBs in this address space collocated.
|
protected |
Flag for whether the implrepo support is enabled or not.
|
private |
Synchronize internal state...
|
protected |
Pointer to the valuetype adapter.
|
protected |
ZIOP Adapter.
|
protected |
ZIOP enabled or not.