summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryamuna <yamuna@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-06-26 19:55:45 +0000
committeryamuna <yamuna@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-06-26 19:55:45 +0000
commit621139354ba723339ced643ca03ee6c3560430f1 (patch)
tree623a1242ea4b93aec36283f6de7ecf535f08d495
parentff8c9c3d8d2d8c85e35c9cf5561e2bed0ed0d529 (diff)
downloadATCD-621139354ba723339ced643ca03ee6c3560430f1.tar.gz
ChangelogTag: Wed June 26 2:09:00 2002 Yamuna Krishnamurthy <yamuna@oomworks.com>
-rw-r--r--TAO/tao/IIOP_Acceptor.cpp5
-rw-r--r--TAO/tao/IIOP_Connection_Handler.h21
2 files changed, 25 insertions, 1 deletions
diff --git a/TAO/tao/IIOP_Acceptor.cpp b/TAO/tao/IIOP_Acceptor.cpp
index 0d55ecfa481..58c8a6f4043 100644
--- a/TAO/tao/IIOP_Acceptor.cpp
+++ b/TAO/tao/IIOP_Acceptor.cpp
@@ -907,6 +907,7 @@ TAO_IIOP_Acceptor::init_tcp_properties (void)
int send_buffer_size = this->orb_core_->orb_params ()->sock_sndbuf_size ();
int recv_buffer_size = this->orb_core_->orb_params ()->sock_rcvbuf_size ();
int no_delay = this->orb_core_->orb_params ()->nodelay ();
+ int enable_network_priority = 0;
TAO_Protocols_Hooks *tph = this->orb_core_->get_protocols_hooks (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_CHECK_RETURN (-1);
@@ -920,6 +921,7 @@ TAO_IIOP_Acceptor::init_tcp_properties (void)
tph->call_server_protocols_hook (send_buffer_size,
recv_buffer_size,
no_delay,
+ enable_network_priority,
protocol_type);
if (hook_return == -1)
@@ -932,6 +934,9 @@ TAO_IIOP_Acceptor::init_tcp_properties (void)
recv_buffer_size;
this->tcp_properties_.no_delay =
no_delay;
+ this->tcp_properties_.enable_network_priority =
+ enable_network_priority;
+
// @@ NOTE. RTCORBA treats a combination of transport+messaging
// as a single protocol. Keep this in mind for when we adopt
diff --git a/TAO/tao/IIOP_Connection_Handler.h b/TAO/tao/IIOP_Connection_Handler.h
index fbf5d02d2bf..998543e8dd3 100644
--- a/TAO/tao/IIOP_Connection_Handler.h
+++ b/TAO/tao/IIOP_Connection_Handler.h
@@ -42,6 +42,8 @@ class TAO_Pluggable_Messaging;
*
*/
+#define IPDSFIELD_DSCP_DEFAULT 0x00
+
class TAO_Export TAO_IIOP_Properties
{
@@ -49,6 +51,7 @@ public:
int send_buffer_size;
int recv_buffer_size;
int no_delay;
+ int enable_network_priority;
};
@@ -122,6 +125,21 @@ public:
/// Process the <listen_list>
int process_listen_point_list (IIOP::ListenPointList &listen_list);
+ ///Check if network priority needs to be enabled
+ int enable_network_priority (void);
+
+ ///Set the Diff-Serv codepoint if the Policy dicates the setting of Network Priority
+ int set_dscp_codepoint (void);
+
+ int set_dscp_codepoint (int tos);
+
+ ///Update the tcp properties of the hanlder to the most recent
+ ///properties set after the last invocation
+ virtual void update_protocol_properties (int send_buffer_size,
+ int recv_buffer_size,
+ int no_delay,
+ int enable_network_priority);
+
protected:
/// = Event Handler overloads
@@ -139,7 +157,8 @@ protected:
private:
/// TCP configuration for this connection.
- TAO_IIOP_Properties *tcp_properties_;
+ TAO_IIOP_Properties tcp_properties_;
+ int dscp_codepoint_;
};