ReliabilityLayer Class Reference
Datagram reliable, ordered, unordered and sequenced sends. Flow control. Message splitting, reassembly, and coalescence.
More...
#include <ReliabilityLayer.h>
List of all members.
|
Public Member Functions |
|
| ReliabilityLayer () |
| | Constructor.
|
|
| ~ReliabilityLayer () |
| | Destructor.
|
|
void | Reset (bool resetVariables) |
| | Resets the layer for reuse.
|
| void | SetEncryptionKey (const unsigned char *key) |
| void | SetTimeoutTime (RakNetTime time) |
| RakNetTime | GetTimeoutTime (void) |
| bool | HandleSocketReceiveFromConnectedPlayer (const char *buffer, unsigned int length, SystemAddress systemAddress, DataStructures::List< PluginInterface2 * > &messageHandlerList, int MTUSize) |
| BitSize_t | Receive (unsigned char **data) |
| bool | Send (char *data, BitSize_t numberOfBitsToSend, PacketPriority priority, PacketReliability reliability, unsigned char orderingChannel, bool makeDataCopy, int MTUSize, RakNetTimeUS currentTime) |
| void | Update (SOCKET s, SystemAddress systemAddress, int MTUSize, RakNetTimeUS time, unsigned maxBitsPerSecond, DataStructures::List< PluginInterface2 * > &messageHandlerList, RakNetRandom *rnr, bool isPS3LobbySocket) |
| bool | IsCheater (void) const |
| bool | IsDeadConnection (void) const |
|
void | KillConnection (void) |
| | Causes IsDeadConnection to return true.
|
| RakNetStatistics *const | GetStatistics (RakNetStatistics *rns) |
|
bool | IsOutgoingDataWaiting (void) |
| | Are we waiting for any data to be sent out or be processed by the player?
|
| bool | IsNetworkSimulatorActive (void) |
|
bool | AckTimeout (RakNetTimeUS curTime) |
| | Has a lot of time passed since the last ack.
|
Detailed Description
Datagram reliable, ordered, unordered and sequenced sends. Flow control. Message splitting, reassembly, and coalescence.
Member Function Documentation
Get Statistics
- Returns:
- A pointer to a static struct, filled out with current statistical information.
| RakNetTime ReliabilityLayer::GetTimeoutTime |
( |
void |
|
) |
|
Returns the value passed to SetTimeoutTime. or the default if it was never called
- Parameters:
-
| [out] | the | value passed to SetTimeoutTime |
Packets are read directly from the socket layer and skip the reliability layer because unconnected players do not use the reliability layer This function takes packet data after a player has been confirmed as connected.
- Parameters:
-
| [in] | buffer | The socket data |
| [in] | length | The length of the socket data |
| [in] | systemAddress | The player that this data is from |
| [in] | messageHandlerList | A list of registered plugins |
| [in] | MTUSize | maximum datagram size |
- Return values:
-
| true | Success |
| false | Modified packet |
| bool ReliabilityLayer::IsCheater |
( |
void |
|
) |
const |
If Read returns -1 and this returns true then a modified packetwas detected
- Returns:
- true when a modified packet is detected
| bool ReliabilityLayer::IsDeadConnection |
( |
void |
|
) |
const |
Were you ever unable to deliver a packet despite retries?
- Returns:
- true means the connection has been lost. Otherwise not.
| bool ReliabilityLayer::IsNetworkSimulatorActive |
( |
void |
|
) |
|
Returns if you previously called ApplyNetworkSimulator
- Returns:
- If you previously called ApplyNetworkSimulator
| BitSize_t ReliabilityLayer::Receive |
( |
unsigned char ** |
data |
) |
|
This allocates bytes and writes a user-level message to those bytes.
- Parameters:
-
- Returns:
- Returns number of BITS put into the buffer
| bool ReliabilityLayer::Send |
( |
char * |
data, |
|
|
BitSize_t |
numberOfBitsToSend, |
|
|
PacketPriority |
priority, |
|
|
PacketReliability |
reliability, |
|
|
unsigned char |
orderingChannel, |
|
|
bool |
makeDataCopy, |
|
|
int |
MTUSize, |
|
|
RakNetTimeUS |
currentTime | |
|
) |
| | |
Puts data on the send queue
- Parameters:
-
| [in] | data | The data to send |
| [in] | numberOfBitsToSend | The length of data in bits |
| [in] | priority | The priority level for the send |
| [in] | reliability | The reliability type for the send |
| [in] | orderingChannel | 0 to 31. Specifies what channel to use, for relational ordering and sequencing of packets. |
| [in] | makeDataCopy | If true data will be copied. Otherwise, only a pointer will be stored. |
| [in] | MTUSize | maximum datagram size |
| [in] | currentTime | Current time, as per RakNet::GetTime() |
- Returns:
- True or false for success or failure.
| void ReliabilityLayer::SetEncryptionKey |
( |
const unsigned char * |
key |
) |
|
Sets the encryption key. Doing so will activate secure connections
- Parameters:
-
| [in] | key | Byte stream for the encryption key |
| void ReliabilityLayer::SetTimeoutTime |
( |
RakNetTime |
time |
) |
|
Set the time, in MS, to use before considering ourselves disconnected after not being able to deliver a reliable packet Default time is 10,000 or 10 seconds in release and 30,000 or 30 seconds in debug.
- Parameters:
-
Call once per game cycle. Handles internal lists and actually does the send.
- Parameters:
-
| [in] | s | the communication end point |
| [in] | systemAddress | The Unique Player Identifier who shouldhave sent some packets |
| [in] | MTUSize | maximum datagram size |
| [in] | time | current system time |
| [in] | maxBitsPerSecond | if non-zero, enforces that outgoing bandwidth does not exceed this amount |
| [in] | messageHandlerList | A list of registered plugins |
The documentation for this class was generated from the following files: