ACE_INet
6.1.0
|
#include <StreamHandler.h>
Classes | |
class | NotificationStrategyGuard |
Public Types | |
typedef StreamHandler < ACE_PEER_STREAM, ACE_SYNCH_USE > | this_type |
typedef ACE_Svc_Handler < ACE_PEER_STREAM, ACE_SYNCH_USE > | base_type |
typedef ACE_Message_Queue < ACE_SYNCH_USE > | mq_type |
Public Member Functions | |
StreamHandler (const ACE_Synch_Options &synch_options=ACE_Synch_Options::defaults, ACE_Thread_Manager *thr_mgr=0, mq_type *mq=0, ACE_Reactor *reactor=ACE_Reactor::instance()) | |
Constructor. | |
virtual | ~StreamHandler () |
Destructor. | |
virtual int | open (void *=0) |
Activate the connection. | |
virtual int | close (u_long flags=0) |
Close the connection. | |
virtual int | handle_input (ACE_HANDLE) |
virtual int | handle_output (ACE_HANDLE) |
int | read_from_stream (void *buf, size_t length, u_short char_size) |
Called by streambuffer to read/receive new data from peer. | |
int | write_to_stream (const void *buf, size_t length, u_short char_size) |
Called by streambuffer to send new data to peer. | |
bool | is_connected () const |
Returns true as long as the connection to peer is active. | |
bool | using_reactor () const |
Returns true if StreamHandler has been configured for reactive mode. | |
Private Types | |
enum | { MAX_INPUT_SIZE = 4096 } |
Private Member Functions | |
int | handle_output_i (ACE_Time_Value *timeout=0) |
int | handle_input_i (size_t rdlen, ACE_Time_Value *timeout=0) |
int | process_input (char *buf, size_t &char_length, u_short char_size, ACE_Time_Value *timeout) |
processes queued input | |
bool | use_timeout () const |
Returns true if a timeout is to be used on IO operations. | |
bool | char_in_queue (u_short char_size) |
Returns true is the queued data contains at least char_size bytes. | |
Private Attributes | |
bool | connected_ |
ACE_Synch_Options | sync_opt_ |
bool | send_timeout_ |
bool | receive_timeout_ |
ACE_Reactor_Notification_Strategy | notification_strategy_ |
typedef ACE_Svc_Handler<ACE_PEER_STREAM, ACE_SYNCH_USE> ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::base_type |
typedef ACE_Message_Queue<ACE_SYNCH_USE> ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::mq_type |
typedef StreamHandler<ACE_PEER_STREAM, ACE_SYNCH_USE> ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::this_type |
ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::StreamHandler | ( | const ACE_Synch_Options & | synch_options = ACE_Synch_Options::defaults , |
ACE_Thread_Manager * | thr_mgr = 0 , |
||
mq_type * | mq = 0 , |
||
ACE_Reactor * | reactor = ACE_Reactor::instance () |
||
) |
Constructor.
ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::~StreamHandler | ( | ) | [virtual] |
Destructor.
bool ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::char_in_queue | ( | u_short | char_size | ) | [private] |
Returns true is the queued data contains at least char_size bytes.
int ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::close | ( | u_long | flags = 0 | ) | [virtual] |
Close the connection.
Reimplemented from ACE_Svc_Handler< ACE_PEER_STREAM, ACE_SYNCH_USE >.
int ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::handle_input | ( | ACE_HANDLE | ) | [virtual] |
Called to handle incoming data when using StreamHandler in reactive mode
Reimplemented from ACE_Event_Handler.
int ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::handle_input_i | ( | size_t | rdlen, |
ACE_Time_Value * | timeout = 0 |
||
) | [private] |
Attempts to send queued data to peer. Called either from handle_output in reactive mode or directly from write_to_stream when non-reactive.
int ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::handle_output | ( | ACE_HANDLE | ) | [virtual] |
Called to handle outgoing data when using StreamHandler in reactive mode
Reimplemented from ACE_Event_Handler.
int ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::handle_output_i | ( | ACE_Time_Value * | timeout = 0 | ) | [private] |
Attempts to receive data from peer and queue it. Called either from handle_input in reactive mode or directly from read_from_stream when non-reactive.
bool ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::is_connected | ( | ) | const |
Returns true as long as the connection to peer is active.
int ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::open | ( | void * | = 0 | ) | [virtual] |
Activate the connection.
Reimplemented from ACE_Svc_Handler< ACE_PEER_STREAM, ACE_SYNCH_USE >.
int ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::process_input | ( | char * | buf, |
size_t & | char_length, | ||
u_short | char_size, | ||
ACE_Time_Value * | timeout | ||
) | [private] |
processes queued input
int ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::read_from_stream | ( | void * | buf, |
size_t | length, | ||
u_short | char_size | ||
) |
Called by streambuffer to read/receive new data from peer.
bool ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::use_timeout | ( | ) | const [private] |
Returns true if a timeout is to be used on IO operations.
bool ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::using_reactor | ( | ) | const |
Returns true if StreamHandler has been configured for reactive mode.
int ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::write_to_stream | ( | const void * | buf, |
size_t | length, | ||
u_short | char_size | ||
) |
Called by streambuffer to send new data to peer.
bool ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::connected_ [private] |
ACE_Reactor_Notification_Strategy ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::notification_strategy_ [private] |
bool ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::receive_timeout_ [private] |
bool ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::send_timeout_ [private] |
ACE_Synch_Options ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::sync_opt_ [private] |