The C++ framework for developing highly scalable, high performance servers on Windows platforms.

TWebSocketBase Class Template Reference

Inheritance diagram for TWebSocketBase:
Collaboration diagram for TWebSocketBase:

List of all members.

template<typename BaseInterface>
class JetByteTools::WebSocket::TWebSocketBase< BaseInterface >


Public Types

typedef
BaseInterface::DataLength 
DataLength
typedef
JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex 
UserDataIndex

Public Member Functions

const std::string & GetIdentifierA () const override
JetByteTools::Core::_tstring GetIdentifier () const override
void OnConnectionClosed (bool shutdown)
bool InternalRead (JetByteTools::IO::CSmartBuffer &buffer)
bool InternalRead (JetByteTools::IO::IBuffer *pBuffer=nullptr)
bool TryWriteRaw (JetByteTools::IO::CSmartBuffer &buffer)
bool TryWriteRaw (const BYTE *pData, DataLength dataLength)
bool TryWriteRaw (const char *pData, DataLength dataLength)
bool TryRead () override
bool TryRead (JetByteTools::IO::CSmartBuffer &buffer) override
bool TryRead (JetByteTools::IO::IBuffer *pBuffer) override
void Read () override
void Read (JetByteTools::IO::CSmartBuffer &buffer) override
void Read (JetByteTools::IO::IBuffer *pBuffer) override
void WriteText (JetByteTools::IO::CSmartBuffer &buffer) override
void WriteText (const JetByteTools::Core::_tstring &text) override
void WriteText (const TCHAR *pData, DataLength dataLength) override
void WriteText (const BYTE *pUTF8Data, DataLength dataLength) override
virtual bool TryWriteText (JetByteTools::IO::CSmartBuffer &buffer)=0
bool TryWriteText (const JetByteTools::Core::_tstring &text) override
virtual bool TryWriteText (const TCHAR *pData, DataLength dataLength)=0
virtual bool TryWriteText (const BYTE *pUTF8Data, DataLength dataLength)=0
bool AbortConnection () override
JetByteTools::Socket::CAddress GetLocalAddress () const override
JetByteTools::Socket::CAddress GetRemoteAddress () const override
void AddRef () override
void Release () override
void * GetUserPointer (UserDataIndex index) const override
void SetUserPointer (UserDataIndex index, void *pData) override
ULONG_PTR GetUserData (UserDataIndex index) const override
void SetUserData (UserDataIndex index, ULONG_PTR data) override
JetByteTools::IO::CSmartBuffer Allocate () override
JetByteTools::IO::CSmartBuffer AllocateCustomSizedBuffer (JetByteTools::IO::IBuffer::BufferSize bufferSize) override
JetByteTools::IO::CSmartBuffer Allocate (JetByteTools::IO::IAllocateBuffer &allocator) override
JetByteTools::IO::CSmartBuffer AllocateCustomSizedBuffer (JetByteTools::IO::IAllocateBuffer &allocator, JetByteTools::IO::IBuffer::BufferSize bufferSize) override
void AddBufferToPool (JetByteTools::IO::IBuffer &buffer) override

Protected Types

typedef AutoCloser
< BaseInterface
CAutoCloser

Protected Member Functions

 TWebSocketBase (JetByteTools::Core::IReentrantLockableObject &lock, JetByteTools::Socket::IStreamSocket &socket, JetByteTools::IO::IAllocateBuffers &allocator, IWebSocketInputHandler &inputHandler)
bool IsClosed ()
void ReduceCloseCounter ()
bool ShouldClose ()
void SendClose (JetByteTools::IO::CCustomPoolSmartBuffer &buffer)

Protected Attributes

JetByteTools::Socket::IStreamSocketm_socket
JetByteTools::IO::IAllocateBuffersm_allocator
JetByteTools::Core::IReentrantLockableObjectm_lock

Classes

class  AutoCloser

Member Typedef Documentation

typedef BaseInterface::DataLength DataLength

typedef AutoCloser<BaseInterface> CAutoCloser [protected]


Constructor & Destructor Documentation


Member Function Documentation

const std::string& GetIdentifierA (  )  const [inline, override]

JetByteTools::Core::_tstring GetIdentifier (  )  const [inline, override]

void OnConnectionClosed ( bool  shutdown  )  [inline]

bool InternalRead ( JetByteTools::IO::CSmartBuffer buffer  )  [inline]

bool InternalRead ( JetByteTools::IO::IBuffer *  pBuffer = nullptr  )  [inline]

bool TryWriteRaw ( JetByteTools::IO::CSmartBuffer buffer  )  [inline]

bool TryWriteRaw ( const BYTE pData,
DataLength  dataLength 
) [inline]

bool TryWriteRaw ( const char *  pData,
DataLength  dataLength 
) [inline]

bool TryRead (  )  [inline, override]

bool TryRead ( JetByteTools::IO::CSmartBuffer buffer  )  [inline, override]

bool TryRead ( JetByteTools::IO::IBuffer *  pBuffer  )  [inline, override]

void Read (  )  [inline, override]

void Read ( JetByteTools::IO::CSmartBuffer buffer  )  [inline, override]

void Read ( JetByteTools::IO::IBuffer *  pBuffer  )  [inline, override]

void WriteText ( JetByteTools::IO::CSmartBuffer buffer  )  [inline, override]

void WriteText ( const JetByteTools::Core::_tstring text  )  [inline, override]

void WriteText ( const TCHAR pData,
DataLength  dataLength 
) [inline, override]

void WriteText ( const BYTE pUTF8Data,
DataLength  dataLength 
) [inline, override]

virtual bool TryWriteText ( JetByteTools::IO::CSmartBuffer buffer  )  [pure virtual]

Implemented in CWebSocket.

bool TryWriteText ( const JetByteTools::Core::_tstring text  )  [inline, override]

virtual bool TryWriteText ( const TCHAR pData,
DataLength  dataLength 
) [pure virtual]

virtual bool TryWriteText ( const BYTE pUTF8Data,
DataLength  dataLength 
) [pure virtual]

bool AbortConnection (  )  [inline, override]

JetByteTools::Socket::CAddress GetLocalAddress (  )  const [inline, override]

JetByteTools::Socket::CAddress GetRemoteAddress (  )  const [inline, override]

void AddRef (  )  [inline, override]

void Release (  )  [inline, override]

void * GetUserPointer ( UserDataIndex  index  )  const [inline, override]

void SetUserPointer ( UserDataIndex  index,
void *  pData 
) [inline, override]

ULONG_PTR GetUserData ( UserDataIndex  index  )  const [inline, override]

void SetUserData ( UserDataIndex  index,
ULONG_PTR  data 
) [inline, override]

JetByteTools::IO::CSmartBuffer Allocate (  )  [inline, override]

JetByteTools::IO::CSmartBuffer AllocateCustomSizedBuffer ( JetByteTools::IO::IBuffer::BufferSize  bufferSize  )  [inline, override]

JetByteTools::IO::CSmartBuffer Allocate ( JetByteTools::IO::IAllocateBuffer allocator  )  [inline, override]

JetByteTools::IO::CSmartBuffer AllocateCustomSizedBuffer ( JetByteTools::IO::IAllocateBuffer allocator,
JetByteTools::IO::IBuffer::BufferSize  bufferSize 
) [inline, override]

void AddBufferToPool ( JetByteTools::IO::IBuffer &  buffer  )  [inline, override]

bool IsClosed (  )  [inline, protected]

void ReduceCloseCounter (  )  [inline, protected]

bool ShouldClose (  )  [inline, protected]

void SendClose ( JetByteTools::IO::CCustomPoolSmartBuffer buffer  )  [inline, protected]


Member Data Documentation


Generated on Sun Sep 12 19:11:27 2021 for The Server Framework - v7.4 by doxygen 1.5.3