TAO 2.0.4
Public Member Functions | Protected Member Functions | Private Types | Private Attributes
TAO_Default_Client_Strategy_Factory Class Reference

This is the "default" client strategy factor for TAO. It includes strategies that are configured through command-line options so that everything operates as if there were no dynamically-linkable strategies. More...

#include <default_client.h>

Inheritance diagram for TAO_Default_Client_Strategy_Factory:
Inheritance graph
[legend]
Collaboration diagram for TAO_Default_Client_Strategy_Factory:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 TAO_Default_Client_Strategy_Factory (void)
 Constructor.
virtual ~TAO_Default_Client_Strategy_Factory (void)
 Destructor.
virtual int init (int argc, ACE_TCHAR *argv[])
 Dynamic linking hook.
int parse_args (int argc, ACE_TCHAR *argv[])
 Parse svc.conf arguments.
virtual
TAO_Transport_Mux_Strategy
create_transport_mux_strategy (TAO_Transport *transport)
 Create the correct client transport muxing strategy.
virtual ACE_Lockcreate_transport_mux_strategy_lock (void)
 Create the correct lock for request muxing strategy.
virtual int reply_dispatcher_table_size (void) const
 Return the size of the reply dispatcher table.
virtual int allow_callback (void)
 Does the client allow any form of callback?
virtual TAO_Wait_Strategycreate_wait_strategy (TAO_Transport *transport)
 Create the correct client wait_for_reply strategy.
virtual TAO_Connect_Strategycreate_connect_strategy (TAO_ORB_Core *)
 Create the correct client asynch_connect strategy.
virtual bool use_cleanup_options (void) const
 Cleanup options for wait strategy.
virtual Connect_Strategy connect_strategy (void) const
 Return the selected connection strategy option.

Protected Member Functions

void report_option_value_error (const ACE_TCHAR *option_name, const ACE_TCHAR *option_value)

Private Types

enum  Lock_Type { TAO_NULL_LOCK, TAO_THREAD_LOCK }
enum  Transport_Mux_Strategy { TAO_MUXED_TMS, TAO_EXCLUSIVE_TMS }
enum  Wait_Strategy { TAO_WAIT_ON_LEADER_FOLLOWER, TAO_WAIT_ON_REACTOR, TAO_WAIT_ON_READ, TAO_WAIT_ON_LF_NO_UPCALL }

Private Attributes

Transport_Mux_Strategy transport_mux_strategy_
 The client Request Mux Strategy.
Wait_Strategy wait_strategy_
 The wait-for-reply strategy.
Connect_Strategy connect_strategy_
 The connection initiation strategy.
int rd_table_size_
 Size of the reply dispatcher table.
Lock_Type muxed_strategy_lock_type_
 Type of lock for the muxed_strategy.
bool use_cleanup_options_
 Cleanupoptions for RW strategy.

Detailed Description

This is the "default" client strategy factor for TAO. It includes strategies that are configured through command-line options so that everything operates as if there were no dynamically-linkable strategies.


Member Enumeration Documentation

Enumerator:
TAO_NULL_LOCK 
TAO_THREAD_LOCK 
Enumerator:
TAO_MUXED_TMS 
TAO_EXCLUSIVE_TMS 
Enumerator:
TAO_WAIT_ON_LEADER_FOLLOWER 
TAO_WAIT_ON_REACTOR 
TAO_WAIT_ON_READ 
TAO_WAIT_ON_LF_NO_UPCALL 

Constructor & Destructor Documentation

TAO_Default_Client_Strategy_Factory::TAO_Default_Client_Strategy_Factory ( void  )

Constructor.

TAO_Default_Client_Strategy_Factory::~TAO_Default_Client_Strategy_Factory ( void  ) [virtual]

Destructor.


Member Function Documentation

int TAO_Default_Client_Strategy_Factory::allow_callback ( void  ) [virtual]

Does the client allow any form of callback?

Implements TAO_Client_Strategy_Factory.

TAO_Client_Strategy_Factory::Connect_Strategy TAO_Default_Client_Strategy_Factory::connect_strategy ( void  ) const [virtual]

Return the selected connection strategy option.

Implements TAO_Client_Strategy_Factory.

TAO_Connect_Strategy * TAO_Default_Client_Strategy_Factory::create_connect_strategy ( TAO_ORB_Core ) [virtual]

Create the correct client asynch_connect strategy.

Implements TAO_Client_Strategy_Factory.

TAO_Transport_Mux_Strategy * TAO_Default_Client_Strategy_Factory::create_transport_mux_strategy ( TAO_Transport transport) [virtual]

Create the correct client transport muxing strategy.

Implements TAO_Client_Strategy_Factory.

ACE_Lock * TAO_Default_Client_Strategy_Factory::create_transport_mux_strategy_lock ( void  ) [virtual]

Create the correct lock for request muxing strategy.

Implements TAO_Client_Strategy_Factory.

TAO_Wait_Strategy * TAO_Default_Client_Strategy_Factory::create_wait_strategy ( TAO_Transport transport) [virtual]

Create the correct client wait_for_reply strategy.

Implements TAO_Client_Strategy_Factory.

int TAO_Default_Client_Strategy_Factory::init ( int  argc,
ACE_TCHAR argv[] 
) [virtual]

Dynamic linking hook.

Reimplemented from ACE_Shared_Object.

int TAO_Default_Client_Strategy_Factory::parse_args ( int  argc,
ACE_TCHAR argv[] 
)

Parse svc.conf arguments.

int TAO_Default_Client_Strategy_Factory::reply_dispatcher_table_size ( void  ) const [virtual]

Return the size of the reply dispatcher table.

Implements TAO_Client_Strategy_Factory.

void TAO_Default_Client_Strategy_Factory::report_option_value_error ( const ACE_TCHAR option_name,
const ACE_TCHAR option_value 
) [protected]
bool TAO_Default_Client_Strategy_Factory::use_cleanup_options ( void  ) const [virtual]

Cleanup options for wait strategy.

Only applicable to RW wait strategy

Implements TAO_Client_Strategy_Factory.


Member Data Documentation

The connection initiation strategy.

Type of lock for the muxed_strategy.

Size of the reply dispatcher table.

The client Request Mux Strategy.

Cleanupoptions for RW strategy.

The wait-for-reply strategy.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines