Atlas  0.7.0
Networking protocol for the Worldforge system.
Atlas::Filter Class Referenceabstract

#include <Filter.h>

Inheritance diagram for Atlas::Filter:
Collaboration diagram for Atlas::Filter:

Public Types

enum  Type { CHECKSUM , COMPRESSION , ENCRYPTION }
 

Public Member Functions

 Filter (std::unique_ptr< Filter >=nullptr)
 
 Filter (const Filter &)=delete
 
Filteroperator= (const Filter &)=delete
 
virtual void begin ()=0
 
virtual void end ()=0
 
virtual std::string encode (const std::string &)=0
 
virtual std::string decode (const std::string &)=0
 

Protected Attributes

std::unique_ptr< Filterm_next
 

Detailed Description

Atlas stream filter

Filters are used by Codec to transform the byte stream before transmission. The transform must be invertible; that is to say, encoding a string and then decoding it must result in the original string. Filters can be used for compression, encryption or performing checksums and other forms of transmission error detection. A compound filter can be created that acts like a single filter, allowing various filters to be chained together in useful ways such as compressing and then encrypting.

See also
Codec
Negotiate

Definition at line 30 of file Filter.h.


The documentation for this class was generated from the following files: