Telnet++
A C++ library for interacting with Telnet streams
codec.hpp
1 #pragma once
2 
3 #include "telnetpp/element.hpp"
4 #include <boost/optional.hpp>
5 #include <boost/utility.hpp>
6 #include <memory>
7 #include <vector>
8 
9 namespace telnetpp { namespace options { namespace mccp {
10 
11 class compressor;
12 class decompressor;
13 
14 //* =========================================================================
32 //* =========================================================================
33 class TELNETPP_EXPORT codec : boost::noncopyable
34 {
35 public :
36  //* =====================================================================
38  //* =====================================================================
39  codec(
40  std::shared_ptr<compressor> const &co,
41  std::shared_ptr<decompressor> const &dec);
42 
43  //* =====================================================================
45  //* =====================================================================
46  ~codec();
47 
48  //* =====================================================================
53  //* =====================================================================
54  std::vector<telnetpp::stream_token> send(
55  std::vector<telnetpp::stream_token> const &tokens);
56 
57  //* =====================================================================
60  //* =====================================================================
61  telnetpp::u8stream receive(telnetpp::u8 byte);
62 
63 private :
64  struct impl;
65  std::shared_ptr<impl> pimpl_;
66 };
67 
68 }}}
A collection of bytes that models the Standard Library&#39;s Container concept.
A class responsible for compressing and decompressing data for the MCCP server option.
Definition: codec.hpp:33
Definition: byte_converter.hpp:4