summaryrefslogtreecommitdiff
path: root/docs/tutorials/015/Compressor.h
blob: cb4c7248cce2278e0a5c98caf3d430dc7c86d495 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// $Id$

#ifndef COMPRESSOR_H
#define COMPRESSOR_h

#include "Protocol_Task.h"

/* A reallly dumb compression object.  (It actually adds 3 bytes to
   every message block.)
*/
class Compressor : public Protocol_Task
{
public:

  typedef Protocol_Task inherited;

  Compressor (void);

  ~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);
};

#endif /* COMPRESSOR_H */