Datagram reliable, ordered, unordered and sequenced sends. Flow control. Message splitting, reassembly, and coalescence.
More...
#include <ReliabilityLayer.h>
|
void | Reset (bool resetVariables, int MTUSize, bool _useSecurity) |
| Resets the layer for reuse.
|
|
void | SetTimeoutTime (RakNet::TimeMS time) |
|
RakNet::TimeMS | GetTimeoutTime (void) |
|
bool | HandleSocketReceiveFromConnectedPlayer (const char *buffer, unsigned int length, SystemAddress &systemAddress, DataStructures::List< PluginInterface2 * > &messageHandlerList, int MTUSize, RakNetSocket2 *s, RakNetRandom *rnr, CCTimeType timeRead, BitStream &updateBitStream) |
|
BitSize_t | Receive (unsigned char **data) |
|
bool | Send (char *data, BitSize_t numberOfBitsToSend, PacketPriority priority, PacketReliability reliability, unsigned char orderingChannel, bool makeDataCopy, int MTUSize, CCTimeType currentTime, uint32_t receipt) |
|
void | Update (RakNetSocket2 *s, SystemAddress &systemAddress, int MTUSize, CCTimeType time, unsigned bitsPerSecondLimit, DataStructures::List< PluginInterface2 * > &messageHandlerList, RakNetRandom *rnr, BitStream &updateBitStream) |
|
bool | IsDeadConnection (void) const |
|
void | KillConnection (void) |
| Causes IsDeadConnection to return true.
|
|
RakNetStatistics * | 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 (RakNet::Time curTime) |
| Has a lot of time passed since the last ack.
|
|
Datagram reliable, ordered, unordered and sequenced sends. Flow control. Message splitting, reassembly, and coalescence.
Get Statistics
- Returns
- A pointer to a static struct, filled out with current statistical information.
RakNet::TimeMS RakNet::ReliabilityLayer::GetTimeoutTime |
( |
void |
| ) |
|
Returns the value passed to SetTimeoutTime. or the default if it was never called
- Parameters
-
[out] | the | value passed to SetTimeoutTime |
bool RakNet::ReliabilityLayer::HandleSocketReceiveFromConnectedPlayer |
( |
const char * |
buffer, |
|
|
unsigned int |
length, |
|
|
SystemAddress & |
systemAddress, |
|
|
DataStructures::List< PluginInterface2 * > & |
messageHandlerList, |
|
|
int |
MTUSize, |
|
|
RakNetSocket2 * |
s, |
|
|
RakNetRandom * |
rnr, |
|
|
CCTimeType |
timeRead, |
|
|
BitStream & |
updateBitStream |
|
) |
| |
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 RakNet::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 RakNet::ReliabilityLayer::IsNetworkSimulatorActive |
( |
void |
| ) |
|
Returns if you previously called ApplyNetworkSimulator
- Returns
- If you previously called ApplyNetworkSimulator
BitSize_t RakNet::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 RakNet::ReliabilityLayer::Send |
( |
char * |
data, |
|
|
BitSize_t |
numberOfBitsToSend, |
|
|
PacketPriority |
priority, |
|
|
PacketReliability |
reliability, |
|
|
unsigned char |
orderingChannel, |
|
|
bool |
makeDataCopy, |
|
|
int |
MTUSize, |
|
|
CCTimeType |
currentTime, |
|
|
uint32_t |
receipt |
|
) |
| |
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::GetTimeMS() |
[in] | receipt | This number will be returned back with ID_SND_RECEIPT_ACKED or ID_SND_RECEIPT_LOSS and is only returned with the reliability types that contain RECEIPT in the name |
- Returns
- True or false for success or failure.
void RakNet::ReliabilityLayer::SetTimeoutTime |
( |
RakNet::TimeMS |
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 file: