#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] |
1.7.2