diff options
Diffstat (limited to 'ace/Svc_Handler.h')
-rw-r--r-- | ace/Svc_Handler.h | 95 |
1 files changed, 10 insertions, 85 deletions
diff --git a/ace/Svc_Handler.h b/ace/Svc_Handler.h index a1251999404..b84b825be42 100644 --- a/ace/Svc_Handler.h +++ b/ace/Svc_Handler.h @@ -48,23 +48,18 @@ class ACE_Svc_Handler : public ACE_Task<ACE_SYNCH_USE> // ACE_Svc_Handler and the peer it is connected with. public: // = Initialization and termination methods. - ACE_Svc_Handler (ACE_Thread_Manager *thr_mgr = 0, - ACE_Message_Queue<ACE_SYNCH_USE> *mq = 0, - ACE_Reactor *reactor = ACE_Reactor::instance ()); - // Constructor initializes the <thr_mgr> and <mq> by passing them - // down to the <ACE_Task> base class. The <reactor> is passed to - // the <ACE_Event_Handler>. + ACE_Svc_Handler (ACE_Thread_Manager * = 0, + ACE_Message_Queue<ACE_SYNCH_USE> * = 0, + ACE_Reactor * = ACE_Reactor::instance ()); virtual ~ACE_Svc_Handler (void); - // Destructor. virtual int open (void * = 0); - // Activate the client handler. This is typically called by the - // <ACE_Acceptor> or <ACE_Connector>. + // Activate the client handler (called by the ACE_Acceptor or + // ACE_Connector). virtual int close (u_long flags = 0); - // Object termination hook -- application-specific cleanup code goes - // here. + // Object termination hook. virtual int idle (u_long flags = 0); // Call this method if you want to recycling the <Svc_Handler> @@ -138,9 +133,8 @@ public: public: - // = The following methods are not suppose to be public. - - // Because friendship is *not* inherited in C++, these methods have + // Note: The following methods are not suppose to be public. But + // because friendship is *not* inherited in C++, these methods have // to be public. // = Accessors to set/get the connection recycler. @@ -162,7 +156,7 @@ public: // recycling. Return 0 if the object is ready for recycling, -1 on // failures. -protected: +private: ACE_PEER_STREAM peer_; // Maintain connection with client. @@ -177,76 +171,7 @@ protected: // Pointer to the connection recycler. const void *recycling_act_; - // Asynchronous Completion Token (ACT) to be used to when talking to - // the recycler. -}; - -template <ACE_PEER_STREAM_1, ACE_SYNCH_DECL> -class ACE_Buffered_Svc_Handler : public ACE_Svc_Handler<ACE_PEER_STREAM_2, ACE_SYNCH_USE> -{ - // = TITLE - // Defines the interface for a service that exchanges data with - // its connected peer and supports buffering. - // - // = DESCRIPTION - // The buffering feature makes it possible to queue up - // <ACE_Message_Blocks> in an <ACE_Message_Queue> until (1) the - // queue is "full" or (2) a period of time elapses, at which - // point the queue is "flushed" via <sendv_n> to the peer. -public: - // = Initialization and termination methods. - ACE_Buffered_Svc_Handler (ACE_Thread_Manager *thr_mgr = 0, - ACE_Message_Queue<ACE_SYNCH_USE> *mq = 0, - ACE_Reactor *reactor = ACE_Reactor::instance (), - size_t max_buffer_size = 0, - ACE_Time_Value *relative_timeout = 0); - // Constructor initializes the <thr_mgr> and <mq> by passing them - // down to the <ACE_Task> base class. The <reactor> is passed to - // the <ACE_Event_Handler>. The <max_buffer_size> and - // <relative_timeout> are used to determine at what point to flush - // the <mq>. By default, there's no buffering at all. The - // <relative_timeout> value is interpreted to be in a unit that's - // relative to the current time returned by <ACE_OS::gettimeofday>. - - virtual ~ACE_Buffered_Svc_Handler (void); - // Destructor, which calls <flush>. - - virtual int put (ACE_Message_Block *message_block, - ACE_Time_Value *timeout = 0); - // Insert the <ACE_Message_Block> chain rooted at <message_block> - // into the <ACE_Message_Queue> with the designated <timeout>. The - // <flush> method will be called if this <put> causes the number of - // bytes to exceed the maximum buffer size or if the timeout period - // has elapsed. - - virtual int flush (void); - // Flush the <ACE_Message_Queue>, which writes all the queued - // <ACE_Message_Block>s to the <PEER_STREAM>. - - virtual int handle_timeout (const ACE_Time_Value &time, - const void *); - // This method is not currently implemented -- this is where the - // integration with the <Reactor> would occur. - - void dump (void) const; - // Dump the state of an object. - -protected: - size_t maximum_buffer_size_; - // Maximum size the <Message_Queue> can be before we have to flush - // the buffer. - - size_t current_buffer_size_; - // Current size in bytes of the <Message_Queue> contents. - - ACE_Time_Value next_timeout_; - // Timeout value used to control when the buffer is flushed. - - ACE_Time_Value interval_; - // Interval of the timeout. - - ACE_Time_Value *timeoutp_; - // Timeout pointer. + // ACT to be used to when talking to the recycler. }; #if defined (__ACE_INLINE__) |