diff options
Diffstat (limited to 'docs/tutorials/015/Compressor.h')
-rw-r--r-- | docs/tutorials/015/Compressor.h | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/docs/tutorials/015/Compressor.h b/docs/tutorials/015/Compressor.h index f1310432841..bc0257b16d1 100644 --- a/docs/tutorials/015/Compressor.h +++ b/docs/tutorials/015/Compressor.h @@ -6,27 +6,38 @@ #include "Protocol_Task.h" -class ACE_SOCK_Stream; - +/* A reallly dumb compression object. (It actually adds 3 bytes to + every message block.) +*/ class Compressor : public Protocol_Task { public: typedef Protocol_Task inherited; - + + // I've given you the option of creating this task derivative + // with a number of threads. In retro-spect that really isn't + // a good idea. Most client/server systems rely on requests + // and responses happening in a predicatable order. Introduce + // a thread pool and message queue and that ordering goes + // right out the window. In other words: Don't ever use the + // constructor parameter! Compressor( int _thr_count = 0 ); + ~Compressor(void); protected: + // This is called when the compressor is on the downstream + // side. We'll take the message, compress it and move it + // along to the next module. int send(ACE_Message_Block *message, ACE_Time_Value *timeout); + // This one is called on the upstream side. No surprise: we + // decompress the data and send it on up the stream. int recv(ACE_Message_Block *message, ACE_Time_Value *timeout); - -private: - mode_t mode_; }; #endif // COMPRESSOR_H |