Public Member Functions | Protected Attributes

TAO_AV_TCP_Acceptor Class Reference

#include <TCP.h>

Inheritance diagram for TAO_AV_TCP_Acceptor:
Inheritance graph
[legend]
Collaboration diagram for TAO_AV_TCP_Acceptor:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 TAO_AV_TCP_Acceptor (void)
virtual ~TAO_AV_TCP_Acceptor (void)
virtual int open (TAO_Base_StreamEndPoint *endpoint, TAO_AV_Core *av_core, TAO_FlowSpec_Entry *entry, TAO_AV_Flow_Protocol_Factory *factory, TAO_AV_Core::Flow_Component flow_component=TAO_AV_Core::TAO_AV_DATA)
virtual int open_default (TAO_Base_StreamEndPoint *endpoint, TAO_AV_Core *av_core, TAO_FlowSpec_Entry *entry, TAO_AV_Flow_Protocol_Factory *factory, TAO_AV_Core::Flow_Component flow_component=TAO_AV_Core::TAO_AV_DATA)
virtual int close (void)
virtual int make_svc_handler (TAO_AV_TCP_Flow_Handler *&handler)

Protected Attributes

TAO_AV_TCP_Base_Acceptor acceptor_
TAO_FlowSpec_Entryentry_
TAO_Base_StreamEndPointendpoint_
TAO_AV_Flow_Protocol_Factoryflow_protocol_factory_

Detailed Description

Definition at line 145 of file TCP.h.


Constructor & Destructor Documentation

TAO_AV_TCP_Acceptor::TAO_AV_TCP_Acceptor ( void   ) 

Definition at line 476 of file TCP.cpp.

{
}

TAO_AV_TCP_Acceptor::~TAO_AV_TCP_Acceptor ( void   )  [virtual]

Definition at line 480 of file TCP.cpp.

{
}


Member Function Documentation

int TAO_AV_TCP_Acceptor::close ( void   )  [virtual]

Implements TAO_AV_Acceptor.

Definition at line 616 of file TCP.cpp.

{
  return 0;
}

int TAO_AV_TCP_Acceptor::make_svc_handler ( TAO_AV_TCP_Flow_Handler *&  handler  )  [virtual]

Definition at line 485 of file TCP.cpp.

{
  if (TAO_debug_level > 0)
    ACE_DEBUG ((LM_DEBUG,
                "TAO_AV_TCP_Acceptor::make_svc_handler\n"
                ));

  if (this->endpoint_ != 0)
    {
      ACE_NEW_RETURN (tcp_handler,
                      TAO_AV_TCP_Flow_Handler,
                      -1);

      TAO_AV_Protocol_Object *object =
        this->flow_protocol_factory_->make_protocol_object (this->entry_,
                                                            this->endpoint_,
                                                            tcp_handler,
                                                            tcp_handler->transport ());

      tcp_handler->protocol_object (object);

      this->endpoint_->set_flow_handler (this->flowname_.c_str (),tcp_handler);
      this->entry_->protocol_object (object);
      this->entry_->handler (tcp_handler);
    }
  return 0;
}

int TAO_AV_TCP_Acceptor::open ( TAO_Base_StreamEndPoint endpoint,
TAO_AV_Core av_core,
TAO_FlowSpec_Entry entry,
TAO_AV_Flow_Protocol_Factory factory,
TAO_AV_Core::Flow_Component  flow_component = TAO_AV_Core::TAO_AV_DATA 
) [virtual]

Implements TAO_AV_Acceptor.

Definition at line 514 of file TCP.cpp.

{
  this->flow_protocol_factory_ = factory;

  if (TAO_debug_level > 0)
    ACE_DEBUG ((LM_DEBUG,
                "TAO_AV_TCP_Acceptor::open "));

  this->av_core_ = av_core;
  this->endpoint_ = endpoint;
  this->entry_ = entry;
  if (flow_comp == TAO_AV_Core::TAO_AV_CONTROL)
    this->flowname_ = TAO_AV_Core::get_control_flowname (entry->flowname ());
  else
  this->flowname_ = entry->flowname ();
  ACE_Addr *address = entry->address ();

  ACE_INET_Addr *inet_addr = (ACE_INET_Addr *) address;

  inet_addr->set (inet_addr->get_port_number (),
                  inet_addr->get_host_name ());

  ACE_TCHAR buf[BUFSIZ];
  inet_addr->addr_to_string (buf,
                             BUFSIZ);

  if (TAO_debug_level > 0)
    ACE_DEBUG ((LM_DEBUG,
                "TAO_AV_TCP_Acceptor::open: %s",
                buf
                ));

  int result = this->acceptor_.acceptor_open (this,
                                     av_core->reactor (),
                                     *inet_addr,
                                     entry);

  if (result < 0)
    ACE_ERROR_RETURN ((LM_ERROR,
                       "TAO_AV_TCP_Acceptor::open failed"),
                      -1);

  entry->set_local_addr (address);
  return 0;
}

int TAO_AV_TCP_Acceptor::open_default ( TAO_Base_StreamEndPoint endpoint,
TAO_AV_Core av_core,
TAO_FlowSpec_Entry entry,
TAO_AV_Flow_Protocol_Factory factory,
TAO_AV_Core::Flow_Component  flow_component = TAO_AV_Core::TAO_AV_DATA 
) [virtual]

Implements TAO_AV_Acceptor.

Definition at line 565 of file TCP.cpp.

{
  this->flow_protocol_factory_ = factory;
  this->av_core_ = av_core;
  this->endpoint_ = endpoint;
  this->entry_ = entry;
  if (flow_comp == TAO_AV_Core::TAO_AV_CONTROL)
    this->flowname_ = TAO_AV_Core::get_control_flowname (entry->flowname());
  else
  this->flowname_ = entry->flowname ();

  ACE_INET_Addr *address = 0;
  ACE_NEW_RETURN (address,
                  ACE_INET_Addr ("0"),
                  -1);

  int result = this->acceptor_.acceptor_open (this,
                                     av_core->reactor (),
                                     *address,
                                     entry);


  if (result < 0)
    ACE_ERROR_RETURN ((LM_ERROR,
                       "TAO_AV_TCP_Acceptor::open failed"),
                      -1);

  this->acceptor_.acceptor ().get_local_addr (*address);

  address->set (address->get_port_number (),
                address->get_host_name ());

  ACE_TCHAR buf[BUFSIZ];
  address->addr_to_string (buf,BUFSIZ);

  if (TAO_debug_level > 0)
    ACE_DEBUG ((LM_DEBUG,
                "TAO_AV_TCP_Acceptor::open_default: %s\n",
                buf));

  entry->set_local_addr (address);

  return 0;
}


Member Data Documentation

Definition at line 168 of file TCP.h.

Definition at line 170 of file TCP.h.

Definition at line 169 of file TCP.h.

Definition at line 171 of file TCP.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines