diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/PortableGroup/miop_resource.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/PortableGroup/miop_resource.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup/miop_resource.cpp b/TAO/orbsvcs/orbsvcs/PortableGroup/miop_resource.cpp index f61ff35a2f3..83d84972a82 100644 --- a/TAO/orbsvcs/orbsvcs/PortableGroup/miop_resource.cpp +++ b/TAO/orbsvcs/orbsvcs/PortableGroup/miop_resource.cpp @@ -20,6 +20,8 @@ TAO_MIOP_Resource_Factory::TAO_MIOP_Resource_Factory (void) , send_hi_water_mark_ (0u) // Zero sets this to actual -ORBSndSock , send_buffer_size_ (0u) // Zero is unspecified (-ORBSndSock). , receive_buffer_size_ (0u) // Zero is unspecified (-ORBRcvSock). + , enable_throttling_ (!!(TAO_DEFAULT_MIOP_SEND_THROTTLING)) // Client-side SendRate throttling enabled. + , enable_eager_dequeue_ (!!(TAO_DEFAULT_MIOP_EAGER_DEQUEUEING)) // Server-side Multiple message dequeueing. { } @@ -235,6 +237,32 @@ TAO_MIOP_Resource_Factory::init (int argc, ACE_TCHAR *argv[]) ACE_TEXT ("TAO (%P|%t) - MIOP_Resource_Factory ") ACE_TEXT ("-ORBRcvSock missing size in bytes.\n"))); } + else if (ACE_OS::strcasecmp (argv[curarg], + ACE_TEXT ("-ORBSendThrottling")) == 0 || + ACE_OS::strcasecmp (argv[curarg], + ACE_TEXT ("-ORBSendThrottle")) == 0) + { + if (++curarg < argc) + this->enable_throttling_= static_cast<bool> (ACE_OS::atoi (argv[curarg])); + else + ACE_DEBUG ((LM_ERROR, + ACE_TEXT ("TAO (%P|%t) - MIOP_Resource_Factory ") + ACE_TEXT ("%s missing 0 or 1 parameter.\n"), + argv[curarg-1])); + } + else if (ACE_OS::strcasecmp (argv[curarg], + ACE_TEXT ("-ORBEagerDequeueing")) == 0 || + ACE_OS::strcasecmp (argv[curarg], + ACE_TEXT ("-ORBEagerDequeue")) == 0) + { + if (++curarg < argc) + this->enable_eager_dequeue_= static_cast<bool> (ACE_OS::atoi (argv[curarg])); + else + ACE_DEBUG ((LM_ERROR, + ACE_TEXT ("TAO (%P|%t) - MIOP_Resource_Factory ") + ACE_TEXT ("%s missing 0 or 1 parameter.\n"), + argv[curarg-1])); + } else if (ACE_OS::strncmp (argv[curarg], ACE_TEXT ("-ORB"), 4) == 0) { // Can we assume there is an argument after the option? @@ -342,6 +370,18 @@ TAO_MIOP_Resource_Factory::receive_buffer_size (void) const return receive_buffer_size_; } +bool +TAO_MIOP_Resource_Factory::enable_throttling (void) const +{ + return enable_throttling_; +} + +bool +TAO_MIOP_Resource_Factory::enable_eager_dequeue (void) const +{ + return enable_eager_dequeue_; +} + TAO_END_VERSIONED_NAMESPACE_DECL // **************************************************************** |