Easy Simple Network Library  0.3.7
All Classes Functions Modules
Public Member Functions | List of all members
esnlib::IoFilter Class Referenceabstract

IO Filter class (interface) More...

#include <IoFilter.h>

Inheritance diagram for esnlib::IoFilter:
esnlib::MessageCodec esnlib::StringCodec

Public Member Functions

virtual bool Extract (SessionPtr session, IoBufferPtr data, std::vector< IoBufferPtr > &readylist)=0
 
virtual IoBufferPtr Encode (SessionPtr session, void *data)=0
 
virtual void * Decode (SessionPtr session, IoBufferPtr data)=0
 

Detailed Description

IO Filter class (interface)

Member Function Documentation

virtual void* esnlib::IoFilter::Decode ( SessionPtr  session,
IoBufferPtr  data 
)
pure virtual

Decode the IO buffer

Parameters
sessionCurrent session
dataThe pointer of the IO buffer encoded
Returns
The original raw buffer (a common pointer)

Implemented in esnlib::MessageCodec, and esnlib::StringCodec.

virtual IoBufferPtr esnlib::IoFilter::Encode ( SessionPtr  session,
void *  data 
)
pure virtual

Encode the raw buffer

Parameters
sessionCurrent session
dataThe pointer of the raw buffer
Returns
The pointer of the IO buffer encoded

Implemented in esnlib::MessageCodec, and esnlib::StringCodec.

virtual bool esnlib::IoFilter::Extract ( SessionPtr  session,
IoBufferPtr  data,
std::vector< IoBufferPtr > &  readylist 
)
pure virtual

Extract useful data from the incoming bytes

Parameters
sessionCurrent session
dataThe pointer of the incoming bytes
readylistThe list used to save the useful data extracted
Returns
Return true if some useful data has been extracted successfully

Implemented in esnlib::MessageCodec, and esnlib::StringCodec.


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