Udp packet header class.
More...
#include <UdpPacketHeader.h>
Inherits AzNetworking::IPacketHeader.
|
| AZ_RTTI (UdpPacketHeader, "{21A11FF3-6829-4A59-9906-C06EF7F39AC1}", IPacketHeader) |
|
| UdpPacketHeader () |
| Default constructor, for when receiving a header from a remote connection.
|
|
| UdpPacketHeader (UdpPacketTracker &packetTracker, PacketType packetType, SequenceId reliableSequence) |
|
| UdpPacketHeader (PacketType packetType, PacketId packetId) |
|
| UdpPacketHeader (PacketType packetType, SequenceId localSequence, SequenceId remoteSequence, SequenceId reliableSequence, BitsetChunk sequenceWindow, SequenceRolloverCount localRolloverCount) |
|
PacketType | GetPacketType () const override |
| IPacketHeader interface.
|
|
PacketId | GetPacketId () const override |
|
bool | IsPacketFlagSet (PacketFlag flag) const override |
|
void | SetPacketFlag (PacketFlag flag, bool value) override |
| Sets the specified packet flag for this packet.
|
|
void | SetPacketFlags (PacketFlagBitset flags) |
|
bool | GetIsReliable () const |
|
SequenceId | GetLocalSequenceId () const |
|
SequenceId | GetRemoteSequenceId () const |
|
SequenceId | GetReliableSequenceId () const |
|
BitsetChunk | GetSequenceWindow () const |
|
SequenceRolloverCount | GetSequenceRolloverCount () const |
|
bool | Serialize (ISerializer &serializer) |
|
bool | SerializePacketFlags (ISerializer &serializer) |
|
◆ UdpPacketHeader() [1/3]
AzNetworking::UdpPacketHeader::UdpPacketHeader |
( |
UdpPacketTracker & |
packetTracker, |
|
|
PacketType |
packetType, |
|
|
SequenceId |
reliableSequence |
|
) |
| |
Constructor for generating a new header to send to a remote connection.
- Parameters
-
packetTracker | packet delivery tracker instance for the connection in question |
packetType | type of packet |
reliableSequence | reliable sequence value, or InvalidSequenceId if the packet is unreliable |
◆ UdpPacketHeader() [2/3]
AzNetworking::UdpPacketHeader::UdpPacketHeader |
( |
PacketType |
packetType, |
|
|
PacketId |
packetId |
|
) |
| |
Constructor for generating generic header with just a packet id, used for dispatching a bulk message.
- Parameters
-
packetType | type of packet |
packetId | packet id we're duplicating |
◆ UdpPacketHeader() [3/3]
AzNetworking::UdpPacketHeader::UdpPacketHeader |
( |
PacketType |
packetType, |
|
|
SequenceId |
localSequence, |
|
|
SequenceId |
remoteSequence, |
|
|
SequenceId |
reliableSequence, |
|
|
BitsetChunk |
sequenceWindow, |
|
|
SequenceRolloverCount |
localRolloverCount |
|
) |
| |
Full constructor for unit tests.
- Parameters
-
packetType | type of packet |
localSequence | local sequence number, this is the sequence for this packet instance |
remoteSequence | remote sequence number for ack replication, this is the latest sequence we've received from the remote endpoint |
reliableSequence | if this is a reliable packet, this is the reliable sequence number |
sequenceWindow | this is the ack vector for ack replication, corresponding to remoteSequence |
localRolloverCount | this is the reconstructed rollover count, used to convert localSequence to a full PacketId |
◆ GetIsReliable()
bool AzNetworking::UdpPacketHeader::GetIsReliable |
( |
| ) |
const |
|
inline |
Returns whether or not this header is for a reliably transmitted packet.
- Returns
- whether or not this header is for a reliably transmitted packet
◆ GetLocalSequenceId()
SequenceId AzNetworking::UdpPacketHeader::GetLocalSequenceId |
( |
| ) |
const |
|
inline |
Retrieve the local sequence from this packet header.
- Returns
- packet header local sequence
◆ GetPacketId()
PacketId AzNetworking::UdpPacketHeader::GetPacketId |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ GetPacketType()
PacketType AzNetworking::UdpPacketHeader::GetPacketType |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ GetReliableSequenceId()
SequenceId AzNetworking::UdpPacketHeader::GetReliableSequenceId |
( |
| ) |
const |
|
inline |
Retrieve the reliable sequence if this was a reliable packet, InvalidSequenceId otherwise.
- Returns
- packet header reliable sequence if this was a reliable packet, InvalidSequenceId otherwise
◆ GetRemoteSequenceId()
SequenceId AzNetworking::UdpPacketHeader::GetRemoteSequenceId |
( |
| ) |
const |
|
inline |
Retrieve the remote sequence being acked.
- Returns
- packet header remote sequence
◆ GetSequenceRolloverCount()
SequenceRolloverCount AzNetworking::UdpPacketHeader::GetSequenceRolloverCount |
( |
| ) |
const |
|
inline |
Retrieve the sequence rollover count from this packet header.
- Returns
- the sequence rollover count from this packet header
◆ GetSequenceWindow()
BitsetChunk AzNetworking::UdpPacketHeader::GetSequenceWindow |
( |
| ) |
const |
|
inline |
Retrieve the sequence window from this packet header.
- Returns
- the sequence window from this packet header
◆ IsPacketFlagSet()
bool AzNetworking::UdpPacketHeader::IsPacketFlagSet |
( |
PacketFlag |
flag | ) |
const |
|
inlineoverridevirtual |
Returns if the specified packet flag is set for this packet.
- Returns
- true if the flag is set for this packet
Implements AzNetworking::IPacketHeader.
◆ Serialize()
bool AzNetworking::UdpPacketHeader::Serialize |
( |
ISerializer & |
serializer | ) |
|
Base serialize method for all serializable structures or classes to implement.
- Parameters
-
serializer | ISerializer instance to use for serialization |
- Returns
- boolean true for success, false for serialization failure
◆ SerializePacketFlags()
bool AzNetworking::UdpPacketHeader::SerializePacketFlags |
( |
ISerializer & |
serializer | ) |
|
Specialized serialize method for UDP Packet Flags
- Parameters
-
serializer | ISerializer instance to use for serialization |
- Returns
- boolean true for success, false for serialization failure
◆ SetPacketFlag()
void AzNetworking::UdpPacketHeader::SetPacketFlag |
( |
PacketFlag |
flag, |
|
|
bool |
value |
|
) |
| |
|
inlineoverridevirtual |
◆ SetPacketFlags()
Sets the packet flag bitset for this packet.
- Parameters
-
flags | The packet flag bitset |
The documentation for this class was generated from the following files:
- Code/Framework/AzNetworking/AzNetworking/UdpTransport/UdpPacketHeader.h
- Code/Framework/AzNetworking/AzNetworking/UdpTransport/UdpPacketHeader.inl