Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayLib::IProtocolFactory Struct Referenceabstract

#include <cProtocol.h>

Inheritance diagram for GrayLib::IProtocolFactory:
GrayFTP::cFTPFactory GrayFTP::cFTPFactoryData GrayLib::cHttpFactory GrayLib::cSSLServerFactory GrayLib::cSecureServerFactory GrayLib::cUnitTestTelnetFactory GrayLib::cXProtocolFactory GrayLib::cHttpScriptedFactory

Public Member Functions

virtual ~IProtocolFactory ()
 
virtual const char * get_ProtocolName () const =0
 
virtual size_t get_ProtocolMaxMessageSize () const
 
virtual HRESULT TestProtocol (const BYTE *pszPrefixData, size_t iPrefixLen) const =0
 
virtual cProtocolStreamPtr CreateProtocolStream (IUnkObject *pServerConnection, cStreamInput *pStreamInp, cStreamOutput *pStreamOut)=0
 

Detailed Description

Base class/interface for creating server side connections for a particular protocol. top level is likely a cSingleton. Intentionally separate from all CNet* classes. e.g. cHttpProtocol

Constructor & Destructor Documentation

◆ ~IProtocolFactory()

virtual GrayLib::IProtocolFactory::~IProtocolFactory ( )
inlinevirtual

Member Function Documentation

◆ CreateProtocolStream()

virtual cProtocolStreamPtr GrayLib::IProtocolFactory::CreateProtocolStream ( IUnkObject *  pServerConnection,
cStreamInput pStreamInp,
cStreamOutput pStreamOut 
)
pure virtual

◆ get_ProtocolMaxMessageSize()

virtual size_t GrayLib::IProtocolFactory::get_ProtocolMaxMessageSize ( ) const
inlinevirtual
Returns
Max size of a single message. increase the auto commit size on incoming queue to be greater than this if needed. Try to make sure this is aligned > than any underlying cipher alignment might require.

Reimplemented in GrayLib::cXProtocolFactory.

◆ get_ProtocolName()

virtual const char* GrayLib::IProtocolFactory::get_ProtocolName ( ) const
pure virtual

◆ TestProtocol()

virtual HRESULT GrayLib::IProtocolFactory::TestProtocol ( const BYTE *  pszPrefixData,
size_t  iPrefixLen 
) const
pure virtual

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