Torque2D Reference
Loading...
Searching...
No Matches
ConnectionProtocol Class Referenceabstract

#include <connectionProtocol.h>

Inheritance diagram for ConnectionProtocol:

Public Member Functions

 ConnectionProtocol ()
void buildSendPacketHeader (BitStream *bstream, S32 packetType=0)
void sendPingPacket ()
void sendAckPacket ()
void setConnectionEstablished ()
bool windowFull ()
bool connectionEstablished ()
void setConnectSequence (U32 connectSeq)
virtual void writeDemoStartBlock (ResizeBitStream *stream)
virtual bool readDemoStartBlock (BitStream *stream)
virtual void processRawPacket (BitStream *bstream)
virtual Net::Error sendPacket (BitStream *bstream)=0
virtual void keepAlive ()=0
virtual void handleConnectionEstablished ()=0
virtual void handleNotify (bool recvd)=0
virtual void handlePacket (BitStream *bstream)=0

Protected Attributes

U32 mLastSeqRecvdAtSend [32]
U32 mLastSeqRecvd
U32 mHighestAckedSeq
U32 mLastSendSeq
U32 mAckMask
U32 mConnectSequence
U32 mLastRecvAckAck
bool mConnectionEstablished

Detailed Description

The base class for Torque's networking protocol.

This implements a sliding window connected message stream over an unreliable transport (UDP). It provides a simple notify protocol to allow subclasses to be aware of what packets were sent succesfully and which failed.

Basically, a window size of 32 is provided, and each packet contains in the header a bitmask, acknowledging the receipt (or failure to receive) of the last 32 packets.

See also
NetConnection, NetProtocol

Constructor & Destructor Documentation

◆ ConnectionProtocol()

Member Function Documentation

◆ buildSendPacketHeader()

void buildSendPacketHeader ( BitStream * bstream,
S32 packetType = 0 )

◆ connectionEstablished()

bool connectionEstablished ( )

◆ handleConnectionEstablished()

virtual void handleConnectionEstablished ( )
pure virtual

Implemented in NetConnection.

◆ handleNotify()

virtual void handleNotify ( bool recvd)
pure virtual

Implemented in NetConnection.

◆ handlePacket()

virtual void handlePacket ( BitStream * bstream)
pure virtual

Implemented in NetConnection.

◆ keepAlive()

virtual void keepAlive ( )
pure virtual

Implemented in NetConnection.

◆ processRawPacket()

void processRawPacket ( BitStream * bstream)
virtual

Reimplemented in NetConnection.

◆ readDemoStartBlock()

bool readDemoStartBlock ( BitStream * stream)
virtual

Reimplemented in NetConnection.

◆ sendAckPacket()

void sendAckPacket ( )

◆ sendPacket()

virtual Net::Error sendPacket ( BitStream * bstream)
pure virtual

Implemented in NetConnection.

◆ sendPingPacket()

void sendPingPacket ( )

◆ setConnectionEstablished()

void setConnectionEstablished ( )
inline

◆ setConnectSequence()

void setConnectSequence ( U32 connectSeq)
inline

◆ windowFull()

bool windowFull ( )

◆ writeDemoStartBlock()

void writeDemoStartBlock ( ResizeBitStream * stream)
virtual

Reimplemented in NetConnection.

Member Data Documentation

◆ mAckMask

U32 mAckMask
protected

◆ mConnectionEstablished

bool mConnectionEstablished
protected

◆ mConnectSequence

U32 mConnectSequence
protected

◆ mHighestAckedSeq

U32 mHighestAckedSeq
protected

◆ mLastRecvAckAck

U32 mLastRecvAckAck
protected

◆ mLastSendSeq

U32 mLastSendSeq
protected

◆ mLastSeqRecvd

U32 mLastSeqRecvd
protected

◆ mLastSeqRecvdAtSend

U32 mLastSeqRecvdAtSend[32]
protected

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