TAO_ORB_Core Class ReferenceEncapsulates the state of an ORB. More...
Collaboration diagram for TAO_ORB_Core:
Detailed DescriptionEncapsulates 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.
Member Typedef Documentation
Define the Timeout_Hook signature.
Member Enumeration Documentation
Constructor & Destructor Documentation
Constructor.
Destructor is protected since the ORB Core is a reference counted object.
The ORB Core should not be copied.
Member Function Documentation
Accessor for the ORB parameters.
Get the connector registry.
Get the IOR parser registry.
Return pointer to the policy factory registry associated with this ORB core.
Return pointer to the orb initializer registry associated with this ORB core. Tries to load the PI library if it is not loaded yet
Get the protocol factories.
Get pointer to the ORB.
Wrappers that forward the request to the concurrency strategy.
Get the ACE_Thread_Manager.
Return the RootPOA, or try to load it if not initialized already.
Get the adapter registry.
This method returns the right collocation strategy, if any, to be used to perform a method invocation on the given object.
Set/get the collocation flags.
Set/get the collocation flags.
Set/get the collocation flags.
Set/get the collocation flags.
Set/get the collocation flags.
Get the adapter named "RootPOA" and cache the result, this is an optimization for the POA.
Returns pointer to the resource factory.
Returns pointer to the factory for creating gui resources.
Returns pointer to the client factory.
Returns pointer to the server factory.
Returns pointer to the Protocols_Hooks.
Returns a pointer to the Thread Lane Resources Manager.
Returns a pointer to the Collocation Resolver.
Returns a pointer to the Stub factory.
Returns a pointer to the endpoint selector factory.
Sets the value of TAO_ORB_Core::resource_factory_.
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.
Sets the value of TAO_ORB_Core::network_priority_protocols_hooks_.
Gets the value of TAO_ORB_Core::protocols_hooks__.
Gets the value of TAO_ORB_Core::network_priority_protocols_hooks__.
Sets the value of TAO_ORB_Core::dynamic_adapter_name_.
Gets the value of TAO_ORB_Core::dynamic_adapter_name_.
Sets the value of TAO_ORB_Core::ifr_client_adapter_name_.
Gets the value of TAO_ORB_Core::ifr_client_adapter_name_.
Sets the value of TAO_ORB_Core::typecodefactory_adapter_name_.
Gets the value of TAO_ORB_Core::typecodefactory_adapter_name_.
Sets the value of TAO_ORB_Core::iorinterceptor_adapter_factory_name_.
Gets the value of TAO_ORB_Core::iorinterceptor_adapter_factory_name_.
Sets the value of TAO_ORB_Core::valuetype_adapter_factory_name.
Gets the value of TAO_ORB_Core::valuetype_adapter_factory_name.
See if we have a collocated address, if yes, return the POA associated with the address.
This allocator is always TSS and has no locks. It is intended for allocating the ACE_Data_Blocks used in *outgoing* CDR streams.
This allocator is always TSS and has no locks. It is intended for allocating the buffers used in *outgoing* CDR streams.
This allocator is always TSS and has no locks. It is intended for allocating the ACE_Data_Blocks used in *outgoing* CDR streams.
This allocator is global, may or may not have locks. It is intended for allocating the ACE_Data_Blocks used in *incoming* CDR streams.
This allocator is always global and has no locks. It is intended for allocating the buffers used in *incoming* CDR streams.
This allocator is always global and has no locks. It is intended for allocating the buffers used in *incoming* CDR streams.
This allocator is always global and has no locks. It is intended for allocating the buffers used to queue messages in transports.
The Message Blocks used for input CDRs must have appropiate locking strategies.
Return the locking strategy used for the data blocks.
Accessor method for the default_policies_.
Get a policy. First, check the ORB-level Policy Manager, then check the ORB defaults.
Get a policy. First, check the thread current, then check the ORB-level Policy Manager, then check the ORB defaults.
Get a cached policy. First, check the ORB-level Policy Manager, then check the ORB defaults.
Get a cached policy. First, check the thread current, then check the ORB-level Policy Manager, then check the ORB defaults.
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.
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.
Return the Policy_Manager for this ORB.
Accesors to the policy current, this object should be kept in TSS storage. The POA has to reset the policy current object on every upcall.
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
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
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.
Obtain the TSS resources of this orb.
Obtain the TSS resource in the given slot.
Set the TSS resource at the given slot. Returns 0 on success, and -1 on failure.
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.
Return the underlying TSS cleanup function registry.
Get access to the leader_follower class.
Get access to the leader follower strategy.
Get access to the thread lane resources.
Run the event loop.
End the event loop.
Get the shutdown flag value.
Shutdown the ORB and free resources.
Check if ORB has shutdown. If it has, throw an exception.
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.
Factory method that create the "right" Stub depending on wheather 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.
Create a new object, use the adapter registry to create a collocated object, if not possible then create a regular object.
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.
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.
Return ORBid string.
Set/Get the IOR of the Implementation Repository service.
Set/Get the IOR of the Implementation Repository service.
Do we attempt to register with the Implementation Repository.
Do we put the ImR's endpoints into persistent object references we create.
Resolve the TypeCodeFactory DLL.
Resolve the PICurrent.
Resolve POA Current.
Resolve the CodecFactory DLL.
Resolve the Compression DLL.
Resolve the Dynamic Any Factory.
Resolve the IOR Manipulation reference for this ORB.
Resolve the IOR Table reference for this ORB.
Resolve the Monitor reference for this ORB.
Resolve an initial reference via the -ORBInitRef and.
Resolve the RT Current flyweight for this ORB. Return server_id string.
List all the service known by the ORB.
Reference counting...
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.
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>.
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.
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
Hook for the services to determine the <hash> value of a profile. For details on how this is used please see the FT service
Call the service layers with the Service Context to check whether they would like to add something to the list.
Return a reference to the Fault Tolerant service object.
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.
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.
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.
Return a pointer to the cached TAO::PICurrent object.
Set the pointer to the cached TAO::PICurrent object.
Register a client request interceptor.
Register a server request interceptor.
Register a client request interceptor with policies.
Register a server request interceptor with policies.
Get the Client Request Interceptor adapter. Will not create a new one if not available yet.
Get the Server Request Interceptor adapter. Will not create a new one if not available yet.
Register an IOR interceptor.
Return the valuetype adapter.
Get the IOR Interceptor adapter. If not created, this method will try to create one.
Set and Get methods to indicate whether a BiDir IIOP policy has been set in the POA.
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.
Acceessor to the table that stores the object_keys.
Return the current request dispatcher strategy.
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.
Call the libraries to handover the validators if they havent registered yet with the list of validators.
Get Code Set Manager.
Return a pointer to the -ORBInitRef map.
This strategy is the default, no explicit queueing and no explicit flush
Verify condition for permanent forward is given, both parameters must provide group attributes. Verify condition for permanent forward is given, both parameters must provide group attributes.
Configuration accessor method.
Get outgoing fragmentation strategy.
Initialize the guts of the ORB Core. It is intended that this be called by <CORBA::ORB_init>.
Final termination hook, typically called by CORBA::ORB's destructor.
Routine that creates a ACE_Data_Block given the lock and allocators.
Obtain and cache the typecode factory object reference.
Obtain and cache the poa current.
Obtain and cache the picurrent factory object reference.
Get the Client Request Interceptor adapter. If not created, this method will try to create one if needed.
Get the Server Request Interceptor adapter. If not created, this method will try to create one if needed.
Obtain and cache the codec factory object reference.
Obtain and cache the compression manager object reference.
Obtain and cache the dynamic any factory object reference.
Obtain and cache the IORManipulation factory object reference.
Obtain and cache the Monitor object reference.
Search the Dynamic service list for well known services that has callbacks which can be dynamically loaded.
Helper method that invokes Interceptor::destroy() on all registered interceptors when ORB::destroy() is called. Prevents exceptions from propagating up the call chain.
Pointer to the list of protocol loaded into this ORB instance. Helper method to hold the common code part for -ORBEndpoint and -ORBListenEndpoints options.
Return pointer to the policy factory registry associated with this ORB core.
Return pointer to the orb initializer registry associated with this ORB core.
Common code from initialize_object and reinitialize_object.
The ORB Core should not be copied.
Obtain and cache the dynamic any factory object reference.
Checks to see whether collocation optimizations have to be applied on objects in the other_orb
This is where the tss resources for this ORB are stored.
Friends And Related Function Documentation
ORB Initialization
Member Data DocumentationHandle to the factory for protocols_hooks_..
Handle to the factory for network_priority_protocols_hooks_..
Synchronize internal state...
The cached IOR for the Implementation Repository.
Flag for whether the implrepo support is enabled or not.
Flag for whether to put the ImR endpoints into our object refs.
The cached IOR for the TypeCodeFactory DLL.
The cached IOR for the CodecFactory DLL.
The cached IOR for the Compression DLL.
The cached object reference for the DynAnyFactory.
The cached object reference for the IORManipulataion.
The cached object reference for the IORTable.
The cached object reference for the Monitor.
The cached object reference for the RTCORBA::RTORB.
The cached object reference for the RTCORBA::Current interface.
Object reference to the root POA. It will eventually be the object reference returned by calls to CORBA::ORB::resolve_initial_references ("RootPOA").
Parameters used by the ORB.
Return InitRefMap to find if a particular object id is present.
Table that maps object key/name to (de-stringified) object reference. It is needed for supporting local objects in the resolve_initial_references() mechanism.
Table that stores the object key instead of caching one per-profile.
The ORBid for this ORB.
Handle to the factory for resource information..
The server_id_ that was passed via -ORBServerId option.
Handle to the factory for Client-side strategies.
Handle to the factory for Server-side strategies.
Fault Tolerant service hook.
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.
TRUE if we want to take advantage of collocation optimization in this ORB.
TRUE if we want to consider all ORBs in this address space collocated.
Default collocation policy. This should never be ORB_CONTROL.
The Policy_Manager for this ORB.
The default policies.
Policy current.
The request dispatching strategy.
POA current.
The list of Adapters used in this ORB.
An optimization for the POA.
The Thread Manager.
The data block reference counts are locked using this mutex.
TSS Object cleanup functions. These correspond to the TSS objects stored in TAO's TSS resources.
Flag which denotes that the ORB has been shutdown.
The value of the timeout if the flag above is not zero.
The value of the timeout if the flag above is not zero.
Mutual exclusion for calling open.
This strategy will buffer messages.
This strategy will buffer messages.
This strategy will not queue by default, but will flush the queue each time
This strategy will not queue by default and not flush.
Number of outstanding references to this object.
Registry containing all registered policy factories.
Registry containing all orb initializers.
Registry containing all service context handlers.
Cached pointer/reference to the PICurrent object. A pointer/reference to the PICurrent object is cached in the ORB Core since it is accessed in the critical path (i.e. the request invocation path). Caching it prevents additional overhead to due object resolution from occurring.
The adapter for handling client request interceptors.
The adapter for handling server request interceptors.
IORInterceptor adapter.
Pointer to the valuetype adapter.
The IOR parser registry.
BiDirectional GIOP factory.
Bir Dir GIOP policy value.
ZIOP Adapter.
ZIOP enabled or not.
Hold the flushing strategy.
Code Set Manager, received from the Resource Factory.
ORB's service configuration.
The hook to be set for the SyncScopePolicy.
The hook to be set for the RelativeRoundtripTimeoutPolicy.
The documentation for this class was generated from the following files: Generated on Mon Sep 15 07:41:42 2008 for TAO by 1.5.5 |