ACE_INet  6.1.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes
ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL > Class Template Reference

#include <StreamHandler.h>

Inheritance diagram for ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >:
Inheritance graph
Collaboration diagram for ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >:
Collaboration graph

List of all members.

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 Types inherited from ACE_Svc_Handler< ACE_PEER_STREAM, ACE_SYNCH_USE >
typedef ACE_PEER_STREAM_ADDR addr_type
typedef ACE_PEER_STREAM stream_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.
- Public Member Functions inherited from ACE_Svc_Handler< ACE_PEER_STREAM, ACE_SYNCH_USE >
 ACE_Svc_Handler (ACE_Thread_Manager *thr_mgr=0, ACE_Message_Queue< ACE_SYNCH_USE > *mq=0, ACE_Reactor *reactor=ACE_Reactor::instance())
virtual ~ACE_Svc_Handler (void)
virtual int idle (u_long flags=0)
virtual ACE_Recyclable_State recycle_state (void) const
virtual int recycle_state (ACE_Recyclable_State new_state)
virtual void cleanup_hint (void **act_holder=0)
virtual int init (int argc, ACE_TCHAR *argv[])
virtual int fini (void)
virtual int info (ACE_TCHAR **info_string, size_t length) const
virtual int handle_close (ACE_HANDLE=ACE_INVALID_HANDLE, ACE_Reactor_Mask=ACE_Event_Handler::ALL_EVENTS_MASK)
virtual int handle_timeout (const ACE_Time_Value &time, const void *)
virtual ACE_HANDLE get_handle (void) const
virtual void set_handle (ACE_HANDLE)
ACE_PEER_STREAMpeer (void) const
void * operator new (size_t n)
void * operator new (size_t n, void *p)
virtual void destroy (void)
void operator delete (void *)
void operator delete (void *, void *)
void shutdown (void)
void dump (void) const
virtual void recycler (ACE_Connection_Recycling_Strategy *recycler, const void *recycling_act)
virtual
ACE_Connection_Recycling_Strategy
recycler (void) const
virtual const void * recycling_act (void) const
virtual int recycle (void *=0)
 ACE_Task (ACE_Thread_Manager *thr_mgr=0, ACE_Message_Queue< ACE_SYNCH_USE, ACE_System_Time_Policy > *mq=0)
virtual ~ACE_Task (void)
ACE_Message_Queue
< ACE_SYNCH_USE,
ACE_System_Time_Policy > * 
msg_queue (void)
void msg_queue (ACE_Message_Queue< ACE_SYNCH_USE, ACE_System_Time_Policy > *)
ACE_Time_Value_T
< ACE_System_Time_Policy
gettimeofday (void) const
void set_time_policy (ACE_System_Time_Policyconst &time_policy)
int putq (ACE_Message_Block *, ACE_Time_Value *timeout=0)
int getq (ACE_Message_Block *&mb, ACE_Time_Value *timeout=0)
int ungetq (ACE_Message_Block *, ACE_Time_Value *timeout=0)
int reply (ACE_Message_Block *mb, ACE_Time_Value *tv=0)
int put_next (ACE_Message_Block *msg, ACE_Time_Value *timeout=0)
const ACE_TCHARname (void) const
ACE_Task< ACE_SYNCH_USE,
ACE_System_Time_Policy > * 
next (void)
void next (ACE_Task< ACE_SYNCH_USE, ACE_System_Time_Policy > *)
ACE_Task< ACE_SYNCH_USE,
ACE_System_Time_Policy > * 
sibling (void)
ACE_Module< ACE_SYNCH_USE,
ACE_System_Time_Policy > * 
module (void) const
int flush (u_long flag=ACE_Task_Flags::ACE_FLUSHALL)
void water_marks (ACE_IO_Cntl_Msg::ACE_IO_Cntl_Cmds, size_t)
 ACE_Task_Base (ACE_Thread_Manager *=0)
virtual ~ACE_Task_Base (void)
virtual int module_closed (void)
virtual int put (ACE_Message_Block *, ACE_Time_Value *=0)
virtual int svc (void)
virtual int activate (long flags=THR_NEW_LWP|THR_JOINABLE|THR_INHERIT_SCHED, int n_threads=1, int force_active=0, long priority=ACE_DEFAULT_THREAD_PRIORITY, int grp_id=-1, ACE_Task_Base *task=0, ACE_hthread_t thread_handles[]=0, void *stack[]=0, size_t stack_size[]=0, ACE_thread_t thread_ids[]=0, const char *thr_name[]=0)
virtual int wait (void)
virtual int suspend (void)
virtual int resume (void)
int grp_id (void) const
void grp_id (int)
ACE_Thread_Managerthr_mgr (void) const
void thr_mgr (ACE_Thread_Manager *)
int is_reader (void) const
int is_writer (void) const
size_t thr_count (void) const
ACE_thread_t last_thread (void) const
 ACE_Service_Object (ACE_Reactor *=0)
virtual ~ACE_Service_Object (void)
virtual ~ACE_Event_Handler (void)
virtual int priority (void) const
virtual void priority (int priority)
virtual int handle_exception (ACE_HANDLE fd=ACE_INVALID_HANDLE)
virtual int handle_exit (ACE_Process *)
virtual int handle_signal (int signum, siginfo_t *=0, ucontext_t *=0)
virtual int resume_handler (void)
virtual int handle_qos (ACE_HANDLE=ACE_INVALID_HANDLE)
virtual int handle_group_qos (ACE_HANDLE=ACE_INVALID_HANDLE)
virtual void reactor (ACE_Reactor *reactor)
virtual ACE_Reactorreactor (void) const
virtual
ACE_Reactor_Timer_Interface
reactor_timer_interface (void) const
virtual Reference_Count add_reference (void)
virtual Reference_Count remove_reference (void)
Reference_Counting_Policyreference_counting_policy (void)
 ACE_Shared_Object (void)
virtual ~ACE_Shared_Object (void)
- Public Member Functions inherited from ACE_Task< ACE_SYNCH_USE >
 ACE_Task (ACE_Thread_Manager *thr_mgr=0, ACE_Message_Queue< ACE_SYNCH_USE, TIME_POLICY > *mq=0)
void msg_queue (ACE_Message_Queue< ACE_SYNCH_USE, TIME_POLICY > *)
void set_time_policy (TIME_POLICY const &time_policy)
void next (ACE_Task< ACE_SYNCH_USE, TIME_POLICY > *)

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_

Additional Inherited Members

- Public Attributes inherited from ACE_Svc_Handler< ACE_PEER_STREAM, ACE_SYNCH_USE >
ACE_Message_Queue
< ACE_SYNCH_USE,
ACE_System_Time_Policy > * 
msg_queue_
bool delete_msg_queue_
ACE_Module< ACE_SYNCH_USE,
ACE_System_Time_Policy > * 
mod_
ACE_Task< ACE_SYNCH_USE,
ACE_System_Time_Policy > * 
next_
 ACE_ALLOC_HOOK_DECLARE
- Public Attributes inherited from ACE_Task< ACE_SYNCH_USE >
- Protected Attributes inherited from ACE_Svc_Handler< ACE_PEER_STREAM, ACE_SYNCH_USE >
ACE_PEER_STREAM peer_
bool dynamic_
bool closing_
ACE_Connection_Recycling_Strategyrecycler_
const void * recycling_act_
- Protected Attributes inherited from ACE_Task< ACE_SYNCH_USE >
size_t thr_count_
ACE_Thread_Managerthr_mgr_
u_long flags_
int grp_id_
ACE_thread_t last_thread_id_
- Protected Attributes inherited from ACE_Task_Base
- Protected Attributes inherited from ACE_Service_Object
Atomic_Reference_Count reference_count_
- Protected Attributes inherited from ACE_Event_Handler

Member Typedef Documentation

template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
typedef ACE_Message_Queue<ACE_SYNCH_USE> ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::mq_type

Member Enumeration Documentation

template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
anonymous enum
private
Enumerator:
MAX_INPUT_SIZE 

Constructor & Destructor Documentation

template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
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.

template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::~StreamHandler ( )
virtual

Destructor.


Member Function Documentation

template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
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.

template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
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 >.

template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
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_Svc_Handler< ACE_PEER_STREAM, ACE_SYNCH_USE >.

template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
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.

template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
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_Svc_Handler< ACE_PEER_STREAM, ACE_SYNCH_USE >.

template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
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.

template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
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.

template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
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 >.

template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
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

template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
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.

template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
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.

template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
bool ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::using_reactor ( ) const

Returns true if StreamHandler has been configured for reactive mode.

template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
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.


Member Data Documentation

template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
bool ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::connected_
private
template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
ACE_Reactor_Notification_Strategy ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::notification_strategy_
private
template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
bool ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::receive_timeout_
private
template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
bool ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::send_timeout_
private
template<ACE_PEER_STREAM_1 , ACE_SYNCH_DECL >
ACE_Synch_Options ACE::IOS::StreamHandler< ACE_PEER_STREAM_1, ACE_SYNCH_DECL >::sync_opt_
private

The documentation for this class was generated from the following files: