diff options
author | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2004-09-29 21:51:48 +0000 |
---|---|---|
committer | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2004-09-29 21:51:48 +0000 |
commit | ece762820f257333fcfb8e928dfc9f321e886e38 (patch) | |
tree | 3b8621eae4172b4ec1ab86649fc4eb7be8ffc449 /TAO/tao/Protocols_Hooks.h | |
parent | 635d1e7d2cae663cff6ef03a5783227eaa510ee2 (diff) | |
download | ATCD-ece762820f257333fcfb8e928dfc9f321e886e38.tar.gz |
Wed Sep 29 17:30:25 2004 Irfan Pyarali <irfan@oomworks.com>
Diffstat (limited to 'TAO/tao/Protocols_Hooks.h')
-rw-r--r-- | TAO/tao/Protocols_Hooks.h | 142 |
1 files changed, 108 insertions, 34 deletions
diff --git a/TAO/tao/Protocols_Hooks.h b/TAO/tao/Protocols_Hooks.h index d6a325df4da..1818438e4b5 100644 --- a/TAO/tao/Protocols_Hooks.h +++ b/TAO/tao/Protocols_Hooks.h @@ -24,6 +24,8 @@ #include "TAO_Export.h" #include "Basic_Types.h" +#include "IOP_IORC.h" +#include "ace/SString.h" namespace CORBA { @@ -40,6 +42,69 @@ class TAO_Connection_Handler; class TAO_Transport; class TAO_Stub; +class TAO_IIOP_Protocol_Properties +{ +public: + + TAO_IIOP_Protocol_Properties (void); + + CORBA::Long send_buffer_size_; + CORBA::Long recv_buffer_size_; + CORBA::Boolean keep_alive_; + CORBA::Boolean dont_route_; + CORBA::Boolean no_delay_; + CORBA::Boolean enable_network_priority_; +}; + +class TAO_UIOP_Protocol_Properties +{ +public: + + TAO_UIOP_Protocol_Properties (void); + + CORBA::Long send_buffer_size_; + CORBA::Long recv_buffer_size_; +}; + +class TAO_SHMIOP_Protocol_Properties +{ +public: + + TAO_SHMIOP_Protocol_Properties (void); + + CORBA::Long send_buffer_size_; + CORBA::Long recv_buffer_size_; + CORBA::Boolean keep_alive_; + CORBA::Boolean dont_route_; + CORBA::Boolean no_delay_; + CORBA::Long preallocate_buffer_size_; + ACE_CString mmap_filename_; + ACE_CString mmap_lockname_; +}; + +class TAO_DIOP_Protocol_Properties +{ +public: + + TAO_DIOP_Protocol_Properties (void); + + CORBA::Boolean enable_network_priority_; +}; + +class TAO_SCIOP_Protocol_Properties +{ +public: + + TAO_SCIOP_Protocol_Properties (void); + + CORBA::Long send_buffer_size_; + CORBA::Long recv_buffer_size_; + CORBA::Boolean keep_alive_; + CORBA::Boolean dont_route_; + CORBA::Boolean no_delay_; + CORBA::Boolean enable_network_priority_; +}; + class TAO_Export TAO_Protocols_Hooks : public ACE_Service_Object { public: @@ -50,30 +115,44 @@ public: virtual void init_hooks (TAO_ORB_Core *orb_core ACE_ENV_ARG_DECL) = 0; - virtual int call_client_protocols_hook (int &send_buffer_size, - int &recv_buffer_size, - int &no_delay, - int &enable_network_priority, - const char *protocol_type) = 0; - - virtual int call_server_protocols_hook (int &send_buffer_size, - int &recv_buffer_size, - int &no_delay, - int &enable_network_priority, - const char *protocol_type) = 0; - - virtual int update_client_protocol_properties ( - TAO_Stub *stub, - TAO_Transport *t, - const char *protocol_type) = 0; - - - virtual int update_server_protocol_properties ( - CORBA::Policy *policy, - TAO_Transport *t, - const char *protocol_type) = 0; - - + virtual CORBA::Boolean set_client_network_priority (IOP::ProfileId protocol_tag, + TAO_Stub *stub + ACE_ENV_ARG_DECL) = 0; + + virtual CORBA::Boolean set_server_network_priority (IOP::ProfileId protocol_tag, + CORBA::Policy *policy + ACE_ENV_ARG_DECL) = 0; + + virtual void server_protocol_properties_at_orb_level (TAO_IIOP_Protocol_Properties &protocol_properties + ACE_ENV_ARG_DECL) = 0; + + virtual void client_protocol_properties_at_orb_level (TAO_IIOP_Protocol_Properties &protocol_properties + ACE_ENV_ARG_DECL) = 0; + + virtual void server_protocol_properties_at_orb_level (TAO_UIOP_Protocol_Properties &protocol_properties + ACE_ENV_ARG_DECL) = 0; + + virtual void client_protocol_properties_at_orb_level (TAO_UIOP_Protocol_Properties &protocol_properties + ACE_ENV_ARG_DECL) = 0; + + virtual void server_protocol_properties_at_orb_level (TAO_SHMIOP_Protocol_Properties &protocol_properties + ACE_ENV_ARG_DECL) = 0; + + virtual void client_protocol_properties_at_orb_level (TAO_SHMIOP_Protocol_Properties &protocol_properties + ACE_ENV_ARG_DECL) = 0; + + virtual void server_protocol_properties_at_orb_level (TAO_DIOP_Protocol_Properties &protocol_properties + ACE_ENV_ARG_DECL) = 0; + + virtual void client_protocol_properties_at_orb_level (TAO_DIOP_Protocol_Properties &protocol_properties + ACE_ENV_ARG_DECL) = 0; + + virtual void server_protocol_properties_at_orb_level (TAO_SCIOP_Protocol_Properties &protocol_properties + ACE_ENV_ARG_DECL) = 0; + + virtual void client_protocol_properties_at_orb_level (TAO_SCIOP_Protocol_Properties &protocol_properties + ACE_ENV_ARG_DECL) = 0; + virtual CORBA::Long get_dscp_codepoint (void) = 0; virtual void rt_service_context (TAO_Stub *stub, @@ -106,29 +185,24 @@ public: */ //@{ virtual int get_thread_CORBA_priority (CORBA::Short & - ACE_ENV_ARG_DECL_NOT_USED) = 0; + ACE_ENV_ARG_DECL) = 0; virtual int get_thread_native_priority (CORBA::Short & - ACE_ENV_ARG_DECL_NOT_USED) = 0; + ACE_ENV_ARG_DECL) = 0; virtual int get_thread_CORBA_and_native_priority ( CORBA::Short &, CORBA::Short & - ACE_ENV_ARG_DECL_NOT_USED) = 0; + ACE_ENV_ARG_DECL) = 0; virtual int set_thread_CORBA_priority (CORBA::Short - ACE_ENV_ARG_DECL_NOT_USED) = 0; + ACE_ENV_ARG_DECL) = 0; virtual int set_thread_native_priority (CORBA::Short - ACE_ENV_ARG_DECL_NOT_USED) = 0; + ACE_ENV_ARG_DECL) = 0; //@} - /// Sets the default_policies for ORB. - /// 1. Sets ORB-level policy defaults for this ORB. Currently sets - /// default RTCORBA policies: ClientProtocolPolicy. - virtual int set_default_policies (ACE_ENV_SINGLE_ARG_DECL) = 0; - /// Sets the default ServerProtocolPolicy. virtual int set_default_server_protocol_policy ( TAO_Acceptor_Registry &acceptor_registry |