diff options
author | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:30 +0000 |
---|---|---|
committer | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:30 +0000 |
commit | 7a52d43a162b23d9e85e7b955e9b2c8e9caf550e (patch) | |
tree | 66a84b20d47f2269d8bdc6e0323f338763424d3a /ACE/examples/Connection/misc/Connection_Handler.h | |
parent | 0e49389337be86641451a5c36c24bf742fe97523 (diff) | |
download | ATCD-7a52d43a162b23d9e85e7b955e9b2c8e9caf550e.tar.gz |
Repo restructuring
Diffstat (limited to 'ACE/examples/Connection/misc/Connection_Handler.h')
-rw-r--r-- | ACE/examples/Connection/misc/Connection_Handler.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/ACE/examples/Connection/misc/Connection_Handler.h b/ACE/examples/Connection/misc/Connection_Handler.h new file mode 100644 index 00000000000..2e22ac8dc11 --- /dev/null +++ b/ACE/examples/Connection/misc/Connection_Handler.h @@ -0,0 +1,44 @@ +/* -*- C++ -*- */ + +// $Id$ + +#ifndef ACE_CONNECTION_HANDLER_H +#define ACE_CONNECTION_HANDLER_H + +#include "ace/SOCK_Stream.h" +#include "ace/Svc_Handler.h" + +class Connection_Handler : public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH> +{ +public: + virtual int open (void *); + // Initialize the <Connection_Handler> and make it an Active Object. + + virtual int close (u_long); + // Terminate the <Connection_Handler>. + + virtual int svc (void); + // Run the <Connection_Handler>'s main event loop. + +protected: + virtual int handle_close (ACE_HANDLE, + ACE_Reactor_Mask); + // Signal the Active Object to stop when called. + + virtual int handle_input (ACE_HANDLE); + // Handle input from the client. + + virtual int handle_timeout (const ACE_Time_Value &tv, + const void *arg); + // Handle timeouts. + + virtual int handle_signal (int signum, + siginfo_t *, + ucontext_t *); + // Handle timeouts. + + sig_atomic_t finished_; + // Keeps track of whether we're done. +}; + +#endif /* ACE_CONNECTION_HANDLER_H */ |