#include <TCP.h>
Inheritance diagram for TAO_AV_TCP_Flow_Handler:


Public Member Functions | |
| TAO_AV_TCP_Flow_Handler (TAO_AV_Callback *callback=0) | |
| virtual | ~TAO_AV_TCP_Flow_Handler (void) |
| virtual TAO_AV_Transport * | transport (void) |
| get the transport. | |
| virtual int | open (void *=0) |
| virtual int | handle_input (ACE_HANDLE fd) |
| virtual int | handle_timeout (const ACE_Time_Value &tv, const void *arg=0) |
| Handle timeout. called from reactor. | |
| virtual ACE_Event_Handler * | event_handler (void) |
| get the underlying event handler. To be overridden by the derived clases. | |
Protected Attributes | |
| TAO_AV_Core * | av_core_ |
|
|
Definition at line 625 of file TCP.cpp. References ACE_NEW.
00626 :TAO_AV_Flow_Handler (callback) 00627 { 00628 ACE_NEW (this->transport_, 00629 TAO_AV_TCP_Transport (this)); 00630 } |
|
|
Definition at line 632 of file TCP.cpp.
00633 {
00634 delete this->transport_;
00635 }
|
|
|
get the underlying event handler. To be overridden by the derived clases.
Implements TAO_AV_Flow_Handler. Definition at line 116 of file TCP.h.
00116 { return this; }
|
|
|
Reimplemented from ACE_Event_Handler. Definition at line 689 of file TCP.cpp. References TAO_AV_Protocol_Object::handle_input().
00690 {
00691 return this->protocol_object_->handle_input ();
00692 }
|
|
||||||||||||
|
Handle timeout. called from reactor.
Reimplemented from TAO_AV_Flow_Handler. Definition at line 695 of file TCP.cpp. References TAO_AV_Flow_Handler::handle_timeout().
00697 {
00698 return TAO_AV_Flow_Handler::handle_timeout (tv,arg);
00699 }
|
|
|
Reimplemented from ACE_Svc_Handler< ACE_SOCK_STREAM, ACE_NULL_SYNCH >. Definition at line 644 of file TCP.cpp. References ACE_DEBUG, ACE_ERROR_RETURN, ACE_NONBLOCK, ACE_TEXT(), ACE_INET_Addr::addr_to_string(), IPPROTO_TCP, LM_DEBUG, LM_ERROR, MAXHOSTNAMELEN, ACE_Svc_Handler< ACE_SOCK_STREAM, ACE_NULL_SYNCH >::peer(), ACE_Event_Handler::reactor(), ACE_Reactor::register_handler(), TAO_debug_level, and TCP_NODELAY.
00645 {
00646
00647 #if defined (TCP_NODELAY)
00648 int nodelay = 1;
00649
00650 if (this->peer ().set_option (IPPROTO_TCP,
00651 TCP_NODELAY,
00652 (void *) &nodelay,
00653 sizeof (nodelay)) == -1)
00654 ACE_ERROR_RETURN ((LM_ERROR,
00655 "NODELAY failed\n"),
00656 -1);
00657 #endif /* TCP_NODELAY */
00658
00659 // Called by the <Strategy_Acceptor> when the handler is completely
00660 // connected.
00661 ACE_INET_Addr addr;
00662
00663 if (this->peer ().get_remote_addr (addr) == -1)
00664 return -1;
00665
00666 char server[MAXHOSTNAMELEN + 16];
00667
00668 (void) addr.addr_to_string (server, sizeof (server));
00669
00670 if (TAO_debug_level > 0)
00671 if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG,
00672 "(%P|%t) connection to server <%s> on %d\n",
00673 server, this->peer ().get_handle ()));
00674
00675 this->peer ().enable (ACE_NONBLOCK);
00676 // Register the handler with the reactor.
00677 if (this->reactor ()
00678 && this->reactor ()->register_handler
00679 (this,
00680 ACE_Event_Handler::READ_MASK) == -1)
00681 ACE_ERROR_RETURN ((LM_ERROR,
00682 ACE_TEXT ("%p\n"),
00683 ACE_TEXT ("unable to register client handler")),
00684 -1);
00685 return 0;
00686 }
|
|
|
get the transport.
Reimplemented from TAO_AV_Flow_Handler. Definition at line 638 of file TCP.cpp. Referenced by TAO_AV_TCP_Connector::connect(), TAO_AV_TCP_Acceptor::make_svc_handler(), and TAO_AV_TCP_Connector::make_svc_handler().
00639 {
00640 return this->transport_;
00641 }
|
|
|
|
1.3.6