/* -*- C++ -*- */ //============================================================================= /** * @file Invocation_Retry_Params.h * * @author Byron Harris (harrisb@ociweb.com) */ //============================================================================= #ifndef TAO_INVOCATION_RETRY_PARAMS_H #define TAO_INVOCATION_RETRY_PARAMS_H #include "tao/orbconf.h" #include "ace/Array_Map.h" #include "ace/Time_Value.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL namespace TAO { /** * @struct Invocation_Retry_Params * * @brief Contains the invocation retry parameters used when encountering * CORBA exceptions. * The parameters can be specified using either the Client_Strategy_Factory * service given in the service configuration file or through the command line. * Any command line parameter overrides the corresponding option in the service * configurator file. */ struct Invocation_Retry_Params { Invocation_Retry_Params(); typedef ACE_Array_Map exception_limit_map_type; /** * The maximum number of retry attempts per exception type * when exceptions are encountered. The profiles are * cycled through during each attempt. */ exception_limit_map_type forward_on_exception_limit_; /** * The maximum number of times to retry a an invocation * if the the connection to the server is closed when * trying to get a reply. */ int forward_on_reply_closed_limit_; /** * The delay to use between cycles of base and forward profiles. */ ACE_Time_Value init_retry_delay_; }; } TAO_END_VERSIONED_NAMESPACE_DECL #endif /* TAO_INVOCATION_RETRY_PARAMS_H*/