summaryrefslogtreecommitdiff
path: root/TAO/tao/ORB_Core.cpp
diff options
context:
space:
mode:
authorstanleyk <stanleyk@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2013-02-05 21:11:03 +0000
committerstanleyk <stanleyk@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2013-02-05 21:11:03 +0000
commit5e030faf84086ab02059fcbcc3faed224bd57b95 (patch)
tree3a62df45ac6ccf599fb07cf6a03d672456ce2e3d /TAO/tao/ORB_Core.cpp
parent9d296f7fa51116ff7040ecb2ad18612cd94b5fd1 (diff)
downloadATCD-5e030faf84086ab02059fcbcc3faed224bd57b95.tar.gz
Merge in OCI_Reliability_Enhancements branch.
Diffstat (limited to 'TAO/tao/ORB_Core.cpp')
-rw-r--r--TAO/tao/ORB_Core.cpp57
1 files changed, 55 insertions, 2 deletions
diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp
index 6fa0711bba6..cdae1455171 100644
--- a/TAO/tao/ORB_Core.cpp
+++ b/TAO/tao/ORB_Core.cpp
@@ -1102,7 +1102,54 @@ TAO_ORB_Core::init (int &argc, char *argv[] )
arg_shifter.consume_arg ();
}
else if (0 != (current_arg = arg_shifter.get_the_parameter
- (ACE_TEXT("-ORBForwardOnceOnObjectNotExist"))))
+ (ACE_TEXT("-ORBForwardOnTransientLimit"))))
+ {
+ int limit = ACE_OS::atoi (current_arg);
+ this->orb_params_.forward_on_exception_limit (TAO::FOE_TRANSIENT, limit);
+ arg_shifter.consume_arg ();
+ }
+ else if (0 != (current_arg = arg_shifter.get_the_parameter
+ (ACE_TEXT("-ORBForwardOnCommFailureLimit"))))
+ {
+ int limit = ACE_OS::atoi (current_arg);
+ this->orb_params_.forward_on_exception_limit (
+ TAO::FOE_COMM_FAILURE, limit);
+ arg_shifter.consume_arg ();
+ }
+ else if (0 != (current_arg = arg_shifter.get_the_parameter
+ (ACE_TEXT("-ORBForwardOnObjectNotExistLimit"))))
+ {
+ int limit = ACE_OS::atoi (current_arg);
+ this->orb_params_.forward_on_exception_limit (
+ TAO::FOE_OBJECT_NOT_EXIST, limit);
+ arg_shifter.consume_arg ();
+ }
+ else if (0 != (current_arg = arg_shifter.get_the_parameter
+ (ACE_TEXT("-ORBForwardOnInvObjrefLimit"))))
+ {
+ int limit = ACE_OS::atoi (current_arg);
+ this->orb_params_.forward_on_exception_limit (
+ TAO::FOE_INV_OBJREF, limit);
+ arg_shifter.consume_arg ();
+ }
+ else if (0 != (current_arg = arg_shifter.get_the_parameter
+ (ACE_TEXT("-ORBForwardOnReplyClosedLimit"))))
+ {
+ int limit = ACE_OS::atoi (current_arg);
+ this->orb_params_.invocation_retry_params ()
+ .forward_on_reply_closed_limit_ = limit;
+ arg_shifter.consume_arg ();
+ }
+ else if (0 != (current_arg = arg_shifter.get_the_parameter
+ (ACE_TEXT("-ORBForwardDelay"))))
+ {
+ int msecs = ACE_OS::atoi (current_arg);
+ ACE_Time_Value delay(0, 1000*msecs);
+ this->orb_params_.forward_on_exception_delay (delay);
+ arg_shifter.consume_arg ();
+ }
+ else if (0 != (current_arg = arg_shifter.get_the_parameter
+ (ACE_TEXT("-ORBForwardOnceOnObjectNotExist"))))
{
int forward = ACE_OS::atoi (current_arg);
if (forward)
@@ -1138,12 +1185,18 @@ TAO_ORB_Core::init (int &argc, char *argv[] )
arg_shifter.consume_arg ();
}
else if (0 != (current_arg = arg_shifter.get_the_parameter
- (ACE_TEXT("-ORBAllowZIOPNoServerPolicies"))))
+ (ACE_TEXT("-ORBAllowZIOPNoServerPolicies"))))
{
// This option takes a boolean 0 (off/dissallow) or 1 (on/allow)
this->orb_params_.allow_ziop_no_server_policies (!!ACE_OS::atoi (current_arg));
arg_shifter.consume_arg ();
}
+ else if (0 != (current_arg = arg_shifter.get_the_parameter
+ (ACE_TEXT("-ORBDynamicThreadPoolName"))))
+ {
+ this->orb_params_.dynamic_thread_pool_config_name (current_arg);
+ arg_shifter.consume_arg ();
+ }
////////////////////////////////////////////////////////////////
// catch any unknown -ORB args //