CMSDK  2.0.1
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
cmlabs::NetworkConnection Class Referenceabstract
Inheritance diagram for cmlabs::NetworkConnection:
cmlabs::Runnable cmlabs::SSLConnection cmlabs::TCPConnection cmlabs::UDPConnection

Public Member Functions

virtual bool disconnect (uint16 error=0)
 
virtual bool reconnect ()=0
 
virtual bool didConnect (int timeout=0)
 
virtual bool isConnected (int timeout=0)
 
virtual bool isRemote ()
 
virtual uint64 getRemoteAddress ()
 
bool setConnectTimeout (uint32 timeoutMS)
 
virtual bool send (char *data, uint32 size, uint64 receiver=0)=0
 
virtual bool receive (char *data, uint32 size, uint32 timeout, bool peek=false)
 
virtual bool receiveAvailable (char *data, uint32 &size, uint32 maxSize, uint32 timeout, bool peek=false)
 
virtual bool discard (uint32 size)
 
virtual uint32 clearBuffer ()
 
virtual bool waitForDataToRead (uint32 timeout)
 
virtual bool waitForDataToBeWritten (uint32 timeout)
 
virtual uint32 getOutputSpeed ()
 
virtual uint32 getInputSpeed ()
 
virtual uint8 getConnectionType ()
 
bool setGreetingData (const char *data, uint32 size)
 
- Public Member Functions inherited from cmlabs::Runnable
virtual bool stop (uint32 timeout=200)
 

Public Attributes

char * greetingData
 
uint32 greetingSize
 

Protected Member Functions

virtual int32 readIntoBuffer ()
 
virtual bool resizeBuffer (uint32 len)
 
virtual bool run ()
 

Protected Attributes

uint8 type
 
uint64 remoteAddress
 
uint64 localAddress
 
uint64 lastActivity
 
uint32 threadID
 
SOCKET socket
 
bool remote
 
uint32 bufferLen
 
uint32 bufferContentLen
 
uint32 bufferContentPos
 
NetworkDataReceiverreceiver
 
utils::Mutex mutex
 
utils::Mutex sendMutex
 
char * buffer
 
uint32 connectTimeoutMS
 
uint32 inputSpeed
 
uint32 outputSpeed
 
uint64 inputBytes
 
uint64 outputBytes
 
- Protected Attributes inherited from cmlabs::Runnable
uint32 threadID
 
bool shouldContinue
 
bool isRunning
 

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