#include <RT_Policy_i.h>
Static Public Member Functions | |
static RTCORBA::ProtocolProperties * | create_transport_protocol_property (IOP::ProfileId id, TAO_ORB_Core *orb_core) |
static RTCORBA::ProtocolProperties * | create_orb_protocol_property (IOP::ProfileId id) |
Private Member Functions | |
TAO_Protocol_Properties_Factory (void) |
Definition at line 780 of file RT_Policy_i.h.
TAO_Protocol_Properties_Factory::TAO_Protocol_Properties_Factory | ( | void | ) | [private] |
RTCORBA::ProtocolProperties * TAO_Protocol_Properties_Factory::create_orb_protocol_property | ( | IOP::ProfileId | id | ) | [static] |
Creates the proper orb ProtocolProperties subclass for IOP::ProfileId. NOTE: Each IOP::ProfileId corresponds to two sets of protocol properties: one describes the transport protocol and the other describes the ORB messaging protocol.
Definition at line 1290 of file RT_Policy_i.cpp.
{ RTCORBA::ProtocolProperties* property = 0; if (id == IOP::TAG_INTERNET_IOP) ACE_NEW_RETURN (property, TAO_GIOP_Protocol_Properties, 0); // Right now the only supported ORB protocol is GIOP // so we couple this with every protocol property. // The else statement is not necessary, but it // is here just to make clear that as soon as // new ORB protocol are supported other case // should be considered. else ACE_NEW_RETURN (property, TAO_GIOP_Protocol_Properties, 0); return property; }
RTCORBA::ProtocolProperties * TAO_Protocol_Properties_Factory::create_transport_protocol_property | ( | IOP::ProfileId | id, | |
TAO_ORB_Core * | orb_core | |||
) | [static] |
Creates the proper transport ProtocolProperties subclass that matches the IOP::ProfileId. NOTE: Each IOP::ProfileId corresponds to two sets of protocol properties: one describes the transport protocol and the other describes the ORB messaging protocol.
Definition at line 1196 of file RT_Policy_i.cpp.
{ RTCORBA::ProtocolProperties* property = 0; if (id == IOP::TAG_INTERNET_IOP) { int send_buffer_size = orb_core ? orb_core->orb_params ()->sock_sndbuf_size () : 0; int recv_buffer_size = orb_core ? orb_core->orb_params ()->sock_rcvbuf_size () : 0; int no_delay = orb_core ? orb_core->orb_params ()->nodelay () : 0; CORBA::Boolean keep_alive = orb_core ? orb_core->orb_params ()->sock_keepalive () : true; CORBA::Boolean dont_route = orb_core ? orb_core->orb_params ()->sock_dontroute () : false; CORBA::Boolean enable_network_priority = false; ACE_NEW_RETURN (property, TAO_TCP_Protocol_Properties (send_buffer_size, recv_buffer_size, keep_alive, dont_route, no_delay, enable_network_priority), 0); } else if (id == TAO_TAG_SHMEM_PROFILE) { int send_buffer_size = orb_core ? orb_core->orb_params ()->sock_sndbuf_size () : 0; int recv_buffer_size = orb_core ? orb_core->orb_params ()->sock_rcvbuf_size () : 0; int no_delay = orb_core ? orb_core->orb_params ()->nodelay () : 0; CORBA::Boolean keep_alive = true; CORBA::Boolean dont_route = false; CORBA::Long preallocate_buffer_size = false; const char *mmap_filename = ""; const char *mmap_lockname = ""; ACE_NEW_RETURN (property, TAO_SharedMemory_Protocol_Properties (send_buffer_size, recv_buffer_size, keep_alive, dont_route, no_delay, preallocate_buffer_size, mmap_filename, mmap_lockname), 0); } else if (id == TAO_TAG_UIOP_PROFILE) { int const send_buffer_size = orb_core ? orb_core->orb_params ()->sock_sndbuf_size () : 0; int const recv_buffer_size = orb_core ? orb_core->orb_params ()->sock_rcvbuf_size () : 0; ACE_NEW_RETURN (property, TAO_UnixDomain_Protocol_Properties (send_buffer_size, recv_buffer_size), 0); } else if (id == TAO_TAG_DIOP_PROFILE) { int const send_buffer_size = orb_core ? orb_core->orb_params ()->sock_sndbuf_size () : 0; int const recv_buffer_size = orb_core ? orb_core->orb_params ()->sock_rcvbuf_size () : 0; CORBA::Boolean enable_network_priority = false; ACE_NEW_RETURN (property, TAO_UserDatagram_Protocol_Properties (send_buffer_size, recv_buffer_size, enable_network_priority), 0); } else if (id == TAO_TAG_SCIOP_PROFILE) { int send_buffer_size = orb_core ? orb_core->orb_params ()->sock_sndbuf_size () : 0; int recv_buffer_size = orb_core ? orb_core->orb_params ()->sock_rcvbuf_size () : 0; int no_delay = orb_core ? orb_core->orb_params ()->nodelay () : 0; CORBA::Boolean keep_alive = true; CORBA::Boolean dont_route = false; CORBA::Boolean enable_network_priority = false; ACE_NEW_RETURN (property, TAO_StreamControl_Protocol_Properties (send_buffer_size, recv_buffer_size, keep_alive, dont_route, no_delay, enable_network_priority), 0); } return property; }