diff options
Diffstat (limited to 'TAO/tao/Protocols_Hooks.h')
-rw-r--r-- | TAO/tao/Protocols_Hooks.h | 136 |
1 files changed, 102 insertions, 34 deletions
diff --git a/TAO/tao/Protocols_Hooks.h b/TAO/tao/Protocols_Hooks.h index d6a325df4da..775abbde250 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_Export TAO_IIOP_Protocol_Properties +{ +public: + + TAO_IIOP_Protocol_Properties (void); + + CORBA::Long send_buffer_size_; + CORBA::Long recv_buffer_size_; + int keep_alive_; + int dont_route_; + int no_delay_; + CORBA::Boolean enable_network_priority_; +}; + +class TAO_Export TAO_UIOP_Protocol_Properties +{ +public: + + TAO_UIOP_Protocol_Properties (void); + + CORBA::Long send_buffer_size_; + CORBA::Long recv_buffer_size_; +}; + +class TAO_Export TAO_SHMIOP_Protocol_Properties +{ +public: + + TAO_SHMIOP_Protocol_Properties (void); + + CORBA::Long send_buffer_size_; + CORBA::Long recv_buffer_size_; + int keep_alive_; + int dont_route_; + int no_delay_; + CORBA::Long preallocate_buffer_size_; + ACE_CString mmap_filename_; + ACE_CString mmap_lockname_; +}; + +class TAO_Export TAO_DIOP_Protocol_Properties +{ +public: + + TAO_DIOP_Protocol_Properties (void); + + CORBA::Boolean enable_network_priority_; +}; + +class TAO_Export TAO_SCIOP_Protocol_Properties +{ +public: + + TAO_SCIOP_Protocol_Properties (void); + + CORBA::Long send_buffer_size_; + CORBA::Long recv_buffer_size_; + int keep_alive_; + int dont_route_; + int no_delay_; + CORBA::Boolean enable_network_priority_; +}; + class TAO_Export TAO_Protocols_Hooks : public ACE_Service_Object { public: @@ -50,29 +115,43 @@ 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 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 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 void server_protocol_properties_at_orb_level (TAO_IIOP_Protocol_Properties &protocol_properties + ACE_ENV_ARG_DECL) = 0; - virtual int update_client_protocol_properties ( - TAO_Stub *stub, - TAO_Transport *t, - const char *protocol_type) = 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 int update_server_protocol_properties ( - CORBA::Policy *policy, - TAO_Transport *t, - const char *protocol_type) = 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; @@ -106,34 +185,23 @@ 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 - ACE_ENV_ARG_DECL) = 0; - }; #include /**/ "ace/post.h" |