mirror of
https://github.com/overte-org/overte.git
synced 2025-08-05 06:49:41 +02:00
use new enum across PacketHeaders
This commit is contained in:
parent
f057be0982
commit
1dfa592a13
2 changed files with 128 additions and 124 deletions
|
@ -15,6 +15,22 @@
|
|||
|
||||
#include <QtCore/QDebug>
|
||||
|
||||
using namespace PacketType;
|
||||
|
||||
const QSet<PacketType::Value> NON_VERIFIED_PACKETS = QSet<PacketType::Value>()
|
||||
<< DomainServerRequireDTLS << DomainConnectRequest
|
||||
<< DomainList << DomainListRequest << DomainConnectionDenied
|
||||
<< CreateAssignment << RequestAssignment << StunResponse
|
||||
<< NodeJsonStats << EntityQuery
|
||||
<< OctreeDataNack << EntityEditNack
|
||||
<< IceServerHeartbeat << IceServerPeerInformation
|
||||
<< IceServerQuery << UnverifiedPing
|
||||
<< UnverifiedPingReply << StopNode
|
||||
<< DomainServerPathQuery << DomainServerPathResponse
|
||||
<< DomainServerAddedNode;
|
||||
|
||||
const QSet<PacketType::Value> SEQUENCE_NUMBERED_PACKETS = QSet<PacketType::Value>() << AvatarData;
|
||||
|
||||
int arithmeticCodingValueFromBuffer(const char* checkValue) {
|
||||
if (((uchar) *checkValue) < 255) {
|
||||
return *checkValue;
|
||||
|
@ -43,43 +59,43 @@ int packArithmeticallyCodedValue(int value, char* destination) {
|
|||
}
|
||||
}
|
||||
|
||||
PacketVersion versionForPacketType(PacketType packetType) {
|
||||
PacketVersion versionForPacketType(PacketType::Value packetType) {
|
||||
switch (packetType) {
|
||||
case PacketTypeMicrophoneAudioNoEcho:
|
||||
case PacketTypeMicrophoneAudioWithEcho:
|
||||
case MicrophoneAudioNoEcho:
|
||||
case MicrophoneAudioWithEcho:
|
||||
return 2;
|
||||
case PacketTypeSilentAudioFrame:
|
||||
case SilentAudioFrame:
|
||||
return 4;
|
||||
case PacketTypeMixedAudio:
|
||||
case MixedAudio:
|
||||
return 1;
|
||||
case PacketTypeInjectAudio:
|
||||
case InjectAudio:
|
||||
return 1;
|
||||
case PacketTypeAvatarData:
|
||||
case AvatarData:
|
||||
return 6;
|
||||
case PacketTypeAvatarIdentity:
|
||||
case AvatarIdentity:
|
||||
return 1;
|
||||
case PacketTypeEnvironmentData:
|
||||
case EnvironmentData:
|
||||
return 2;
|
||||
case PacketTypeDomainList:
|
||||
case PacketTypeDomainListRequest:
|
||||
case DomainList:
|
||||
case DomainListRequest:
|
||||
return 5;
|
||||
case PacketTypeCreateAssignment:
|
||||
case PacketTypeRequestAssignment:
|
||||
case CreateAssignment:
|
||||
case RequestAssignment:
|
||||
return 2;
|
||||
case PacketTypeOctreeStats:
|
||||
case OctreeStats:
|
||||
return 1;
|
||||
case PacketTypeStopNode:
|
||||
case StopNode:
|
||||
return 1;
|
||||
case PacketTypeEntityAdd:
|
||||
case PacketTypeEntityEdit:
|
||||
case PacketTypeEntityData:
|
||||
case EntityAdd:
|
||||
case EntityEdit:
|
||||
case EntityData:
|
||||
return VERSION_ENTITIES_HAVE_SIMULATION_OWNER_AND_ACTIONS_OVER_WIRE;
|
||||
case PacketTypeEntityErase:
|
||||
case EntityErase:
|
||||
return 2;
|
||||
case PacketTypeAudioStreamStats:
|
||||
case AudioStreamStats:
|
||||
return 1;
|
||||
case PacketTypeIceServerHeartbeat:
|
||||
case PacketTypeIceServerQuery:
|
||||
case IceServerHeartbeat:
|
||||
case IceServerQuery:
|
||||
return 1;
|
||||
default:
|
||||
return 0;
|
||||
|
@ -88,53 +104,53 @@ PacketVersion versionForPacketType(PacketType packetType) {
|
|||
|
||||
#define PACKET_TYPE_NAME_LOOKUP(x) case x: return QString(#x);
|
||||
|
||||
QString nameForPacketType(PacketType packetType) {
|
||||
QString nameForPacketType(PacketType::Value packetType) {
|
||||
switch (packetType) {
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeUnknown);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeStunResponse);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeDomainList);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypePing);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypePingReply);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeKillAvatar);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeAvatarData);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeInjectAudio);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeMixedAudio);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeMicrophoneAudioNoEcho);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeMicrophoneAudioWithEcho);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeBulkAvatarData);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeSilentAudioFrame);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeEnvironmentData);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeDomainListRequest);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeRequestAssignment);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeCreateAssignment);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeDomainConnectionDenied);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeMuteEnvironment);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeAudioStreamStats);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeDataServerConfirm);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeOctreeStats);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeJurisdiction);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeJurisdictionRequest);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeAvatarIdentity);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeAvatarBillboard);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeDomainConnectRequest);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeDomainServerRequireDTLS);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeNodeJsonStats);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeEntityQuery);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeEntityData);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeEntityErase);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeOctreeDataNack);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeStopNode);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeAudioEnvironment);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeEntityEditNack);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeSignedTransactionPayment);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeIceServerHeartbeat);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeDomainServerAddedNode);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeIceServerQuery);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeIceServerPeerInformation);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeUnverifiedPing);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeUnverifiedPingReply);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeEntityAdd);
|
||||
PACKET_TYPE_NAME_LOOKUP(PacketTypeEntityEdit);
|
||||
PACKET_TYPE_NAME_LOOKUP(Unknown);
|
||||
PACKET_TYPE_NAME_LOOKUP(StunResponse);
|
||||
PACKET_TYPE_NAME_LOOKUP(DomainList);
|
||||
PACKET_TYPE_NAME_LOOKUP(Ping);
|
||||
PACKET_TYPE_NAME_LOOKUP(PingReply);
|
||||
PACKET_TYPE_NAME_LOOKUP(KillAvatar);
|
||||
PACKET_TYPE_NAME_LOOKUP(AvatarData);
|
||||
PACKET_TYPE_NAME_LOOKUP(InjectAudio);
|
||||
PACKET_TYPE_NAME_LOOKUP(MixedAudio);
|
||||
PACKET_TYPE_NAME_LOOKUP(MicrophoneAudioNoEcho);
|
||||
PACKET_TYPE_NAME_LOOKUP(MicrophoneAudioWithEcho);
|
||||
PACKET_TYPE_NAME_LOOKUP(BulkAvatarData);
|
||||
PACKET_TYPE_NAME_LOOKUP(SilentAudioFrame);
|
||||
PACKET_TYPE_NAME_LOOKUP(EnvironmentData);
|
||||
PACKET_TYPE_NAME_LOOKUP(DomainListRequest);
|
||||
PACKET_TYPE_NAME_LOOKUP(RequestAssignment);
|
||||
PACKET_TYPE_NAME_LOOKUP(CreateAssignment);
|
||||
PACKET_TYPE_NAME_LOOKUP(DomainConnectionDenied);
|
||||
PACKET_TYPE_NAME_LOOKUP(MuteEnvironment);
|
||||
PACKET_TYPE_NAME_LOOKUP(AudioStreamStats);
|
||||
PACKET_TYPE_NAME_LOOKUP(DataServerConfirm);
|
||||
PACKET_TYPE_NAME_LOOKUP(OctreeStats);
|
||||
PACKET_TYPE_NAME_LOOKUP(Jurisdiction);
|
||||
PACKET_TYPE_NAME_LOOKUP(JurisdictionRequest);
|
||||
PACKET_TYPE_NAME_LOOKUP(AvatarIdentity);
|
||||
PACKET_TYPE_NAME_LOOKUP(AvatarBillboard);
|
||||
PACKET_TYPE_NAME_LOOKUP(DomainConnectRequest);
|
||||
PACKET_TYPE_NAME_LOOKUP(DomainServerRequireDTLS);
|
||||
PACKET_TYPE_NAME_LOOKUP(NodeJsonStats);
|
||||
PACKET_TYPE_NAME_LOOKUP(EntityQuery);
|
||||
PACKET_TYPE_NAME_LOOKUP(EntityData);
|
||||
PACKET_TYPE_NAME_LOOKUP(EntityErase);
|
||||
PACKET_TYPE_NAME_LOOKUP(OctreeDataNack);
|
||||
PACKET_TYPE_NAME_LOOKUP(StopNode);
|
||||
PACKET_TYPE_NAME_LOOKUP(AudioEnvironment);
|
||||
PACKET_TYPE_NAME_LOOKUP(EntityEditNack);
|
||||
PACKET_TYPE_NAME_LOOKUP(SignedTransactionPayment);
|
||||
PACKET_TYPE_NAME_LOOKUP(IceServerHeartbeat);
|
||||
PACKET_TYPE_NAME_LOOKUP(DomainServerAddedNode);
|
||||
PACKET_TYPE_NAME_LOOKUP(IceServerQuery);
|
||||
PACKET_TYPE_NAME_LOOKUP(IceServerPeerInformation);
|
||||
PACKET_TYPE_NAME_LOOKUP(UnverifiedPing);
|
||||
PACKET_TYPE_NAME_LOOKUP(UnverifiedPingReply);
|
||||
PACKET_TYPE_NAME_LOOKUP(EntityAdd);
|
||||
PACKET_TYPE_NAME_LOOKUP(EntityEdit);
|
||||
default:
|
||||
return QString("Type: ") + QString::number((int)packetType);
|
||||
}
|
||||
|
@ -143,13 +159,13 @@ QString nameForPacketType(PacketType packetType) {
|
|||
|
||||
|
||||
|
||||
QByteArray byteArrayWithUUIDPopulatedHeader(PacketType packetType, const QUuid& connectionUUID) {
|
||||
QByteArray byteArrayWithUUIDPopulatedHeader(PacketType::Value packetType, const QUuid& connectionUUID) {
|
||||
QByteArray freshByteArray(MAX_PACKET_HEADER_BYTES, 0);
|
||||
freshByteArray.resize(populatePacketHeaderWithUUID(freshByteArray, packetType, connectionUUID));
|
||||
return freshByteArray;
|
||||
}
|
||||
|
||||
int populatePacketHeaderWithUUID(QByteArray& packet, PacketType packetType, const QUuid& connectionUUID) {
|
||||
int populatePacketHeaderWithUUID(QByteArray& packet, PacketType::Value packetType, const QUuid& connectionUUID) {
|
||||
if (packet.size() < numBytesForPacketHeaderGivenPacketType(packetType)) {
|
||||
packet.resize(numBytesForPacketHeaderGivenPacketType(packetType));
|
||||
}
|
||||
|
@ -157,7 +173,7 @@ int populatePacketHeaderWithUUID(QByteArray& packet, PacketType packetType, cons
|
|||
return populatePacketHeaderWithUUID(packet.data(), packetType, connectionUUID);
|
||||
}
|
||||
|
||||
int populatePacketHeaderWithUUID(char* packet, PacketType packetType, const QUuid& connectionUUID) {
|
||||
int populatePacketHeaderWithUUID(char* packet, PacketType::Value packetType, const QUuid& connectionUUID) {
|
||||
int numTypeBytes = packArithmeticallyCodedValue(packetType, packet);
|
||||
packet[numTypeBytes] = versionForPacketType(packetType);
|
||||
|
||||
|
@ -185,31 +201,31 @@ int populatePacketHeaderWithUUID(char* packet, PacketType packetType, const QUui
|
|||
}
|
||||
|
||||
int numBytesForPacketHeader(const QByteArray& packet) {
|
||||
PacketType packetType = packetTypeForPacket(packet);
|
||||
PacketType::Value packetType = packetTypeForPacket(packet);
|
||||
return numBytesForPacketHeaderGivenPacketType(packetType);
|
||||
}
|
||||
|
||||
int numBytesForPacketHeader(const char* packet) {
|
||||
PacketType packetType = packetTypeForPacket(packet);
|
||||
PacketType::Value packetType = packetTypeForPacket(packet);
|
||||
return numBytesForPacketHeaderGivenPacketType(packetType);
|
||||
}
|
||||
|
||||
int numBytesForArithmeticCodedPacketType(PacketType packetType) {
|
||||
int numBytesForArithmeticCodedPacketType(PacketType::Value packetType) {
|
||||
return (int) ceilf((float) packetType / 255);
|
||||
}
|
||||
|
||||
int numBytesForPacketHeaderGivenPacketType(PacketType packetType) {
|
||||
int numBytesForPacketHeaderGivenPacketType(PacketType::Value packetType) {
|
||||
return numBytesForArithmeticCodedPacketType(packetType)
|
||||
+ numHashBytesForType(packetType)
|
||||
+ numSequenceNumberBytesForType(packetType)
|
||||
+ NUM_STATIC_HEADER_BYTES;
|
||||
}
|
||||
|
||||
int numHashBytesForType(PacketType packetType) {
|
||||
int numHashBytesForType(PacketType::Value packetType) {
|
||||
return (NON_VERIFIED_PACKETS.contains(packetType) ? 0 : NUM_BYTES_MD5_HASH);
|
||||
}
|
||||
|
||||
int numSequenceNumberBytesForType(PacketType packetType) {
|
||||
int numSequenceNumberBytesForType(PacketType::Value packetType) {
|
||||
return (SEQUENCE_NUMBERED_PACKETS.contains(packetType) ? sizeof(PacketSequenceNumber) : 0);
|
||||
}
|
||||
|
||||
|
@ -218,11 +234,11 @@ QUuid uuidFromPacketHeader(const QByteArray& packet) {
|
|||
NUM_BYTES_RFC4122_UUID));
|
||||
}
|
||||
|
||||
int hashOffsetForPacketType(PacketType packetType) {
|
||||
int hashOffsetForPacketType(PacketType::Value packetType) {
|
||||
return numBytesForArithmeticCodedPacketType(packetType) + NUM_STATIC_HEADER_BYTES;
|
||||
}
|
||||
|
||||
int sequenceNumberOffsetForPacketType(PacketType packetType) {
|
||||
int sequenceNumberOffsetForPacketType(PacketType::Value packetType) {
|
||||
return numBytesForPacketHeaderGivenPacketType(packetType) - sizeof(PacketSequenceNumber);
|
||||
}
|
||||
|
||||
|
@ -235,8 +251,8 @@ QByteArray hashForPacketAndConnectionUUID(const QByteArray& packet, const QUuid&
|
|||
QCryptographicHash::Md5);
|
||||
}
|
||||
|
||||
PacketSequenceNumber sequenceNumberFromHeader(const QByteArray& packet, PacketType packetType) {
|
||||
if (packetType == PacketTypeUnknown) {
|
||||
PacketSequenceNumber sequenceNumberFromHeader(const QByteArray& packet, PacketType::Value packetType) {
|
||||
if (packetType == PacketType::Unknown) {
|
||||
packetType = packetTypeForPacket(packet);
|
||||
}
|
||||
|
||||
|
@ -249,8 +265,8 @@ PacketSequenceNumber sequenceNumberFromHeader(const QByteArray& packet, PacketTy
|
|||
return result;
|
||||
}
|
||||
|
||||
void replaceHashInPacket(QByteArray& packet, const QUuid& connectionUUID, PacketType packetType) {
|
||||
if (packetType == PacketTypeUnknown) {
|
||||
void replaceHashInPacket(QByteArray& packet, const QUuid& connectionUUID, PacketType::Value packetType) {
|
||||
if (packetType == PacketType::Unknown) {
|
||||
packetType = packetTypeForPacket(packet);
|
||||
}
|
||||
|
||||
|
@ -258,8 +274,8 @@ void replaceHashInPacket(QByteArray& packet, const QUuid& connectionUUID, Packet
|
|||
hashForPacketAndConnectionUUID(packet, connectionUUID));
|
||||
}
|
||||
|
||||
void replaceSequenceNumberInPacket(QByteArray& packet, PacketSequenceNumber sequenceNumber, PacketType packetType) {
|
||||
if (packetType == PacketTypeUnknown) {
|
||||
void replaceSequenceNumberInPacket(QByteArray& packet, PacketSequenceNumber sequenceNumber, PacketType::Value packetType) {
|
||||
if (packetType == PacketType::Unknown) {
|
||||
packetType = packetTypeForPacket(packet);
|
||||
}
|
||||
|
||||
|
@ -268,8 +284,8 @@ void replaceSequenceNumberInPacket(QByteArray& packet, PacketSequenceNumber sequ
|
|||
}
|
||||
|
||||
void replaceHashAndSequenceNumberInPacket(QByteArray& packet, const QUuid& connectionUUID, PacketSequenceNumber sequenceNumber,
|
||||
PacketType packetType) {
|
||||
if (packetType == PacketTypeUnknown) {
|
||||
PacketType::Value packetType) {
|
||||
if (packetType == PacketType::Unknown) {
|
||||
packetType = packetTypeForPacket(packet);
|
||||
}
|
||||
|
||||
|
@ -277,10 +293,10 @@ void replaceHashAndSequenceNumberInPacket(QByteArray& packet, const QUuid& conne
|
|||
replaceSequenceNumberInPacket(packet, sequenceNumber, packetType);
|
||||
}
|
||||
|
||||
PacketType packetTypeForPacket(const QByteArray& packet) {
|
||||
return (PacketType) arithmeticCodingValueFromBuffer(packet.data());
|
||||
PacketType::Value packetTypeForPacket(const QByteArray& packet) {
|
||||
return (PacketType::Value) arithmeticCodingValueFromBuffer(packet.data());
|
||||
}
|
||||
|
||||
PacketType packetTypeForPacket(const char* packet) {
|
||||
return (PacketType) arithmeticCodingValueFromBuffer(packet);
|
||||
PacketType::Value packetTypeForPacket(const char* packet) {
|
||||
return (PacketType::Value) arithmeticCodingValueFromBuffer(packet);
|
||||
}
|
||||
|
|
|
@ -89,51 +89,39 @@ typedef char PacketVersion;
|
|||
typedef uint16_t PacketSequenceNumber;
|
||||
const PacketSequenceNumber DEFAULT_SEQUENCE_NUMBER = 0;
|
||||
|
||||
typedef std::map<PacketType, PacketSequenceNumber> PacketTypeSequenceMap;
|
||||
typedef std::map<PacketType::Value, PacketSequenceNumber> PacketTypeSequenceMap;
|
||||
|
||||
const QSet<PacketType> NON_VERIFIED_PACKETS = QSet<PacketType>()
|
||||
<< PacketTypeDomainServerRequireDTLS << PacketTypeDomainConnectRequest
|
||||
<< PacketTypeDomainList << PacketTypeDomainListRequest << PacketTypeDomainConnectionDenied
|
||||
<< PacketTypeCreateAssignment << PacketTypeRequestAssignment << PacketTypeStunResponse
|
||||
<< PacketTypeNodeJsonStats << PacketTypeEntityQuery
|
||||
<< PacketTypeOctreeDataNack << PacketTypeEntityEditNack
|
||||
<< PacketTypeIceServerHeartbeat << PacketTypeIceServerPeerInformation
|
||||
<< PacketTypeIceServerQuery << PacketTypeUnverifiedPing
|
||||
<< PacketTypeUnverifiedPingReply << PacketTypeStopNode
|
||||
<< PacketTypeDomainServerPathQuery << PacketTypeDomainServerPathResponse
|
||||
<< PacketTypeDomainServerAddedNode;
|
||||
|
||||
const QSet<PacketType> SEQUENCE_NUMBERED_PACKETS = QSet<PacketType>()
|
||||
<< PacketTypeAvatarData;
|
||||
extern const QSet<PacketType::Value> NON_VERIFIED_PACKETS;
|
||||
extern const QSet<PacketType::Value> SEQUENCE_NUMBERED_PACKETS;
|
||||
|
||||
const int NUM_BYTES_MD5_HASH = 16;
|
||||
const int NUM_STATIC_HEADER_BYTES = sizeof(PacketVersion) + NUM_BYTES_RFC4122_UUID;
|
||||
const int MAX_PACKET_HEADER_BYTES = sizeof(PacketType) + NUM_BYTES_MD5_HASH + NUM_STATIC_HEADER_BYTES;
|
||||
const int MAX_PACKET_HEADER_BYTES = sizeof(PacketType::Value) + NUM_BYTES_MD5_HASH + NUM_STATIC_HEADER_BYTES;
|
||||
|
||||
PacketType packetTypeForPacket(const QByteArray& packet);
|
||||
PacketType packetTypeForPacket(const char* packet);
|
||||
PacketType::Value packetTypeForPacket(const QByteArray& packet);
|
||||
PacketType::Value packetTypeForPacket(const char* packet);
|
||||
|
||||
PacketVersion versionForPacketType(PacketType packetType);
|
||||
QString nameForPacketType(PacketType packetType);
|
||||
PacketVersion versionForPacketType(PacketType::Value packetType);
|
||||
QString nameForPacketType(PacketType::Value packetType);
|
||||
|
||||
const QUuid nullUUID = QUuid();
|
||||
|
||||
QByteArray byteArrayWithUUIDPopulatedHeader(PacketType packetType, const QUuid& connectionUUID);
|
||||
int populatePacketHeaderWithUUID(QByteArray& packet, PacketType packetType, const QUuid& connectionUUID);
|
||||
int populatePacketHeaderWithUUID(char* packet, PacketType packetType, const QUuid& connectionUUID);
|
||||
QByteArray byteArrayWithUUIDPopulatedHeader(PacketType::Value packetType, const QUuid& connectionUUID);
|
||||
int populatePacketHeaderWithUUID(QByteArray& packet, PacketType::Value packetType, const QUuid& connectionUUID);
|
||||
int populatePacketHeaderWithUUID(char* packet, PacketType::Value packetType, const QUuid& connectionUUID);
|
||||
|
||||
int numHashBytesForType(PacketType packetType);
|
||||
int numSequenceNumberBytesForType(PacketType packetType);
|
||||
int numHashBytesForType(PacketType::Value packetType);
|
||||
int numSequenceNumberBytesForType(PacketType::Value packetType);
|
||||
|
||||
int numBytesForPacketHeader(const QByteArray& packet);
|
||||
int numBytesForPacketHeader(const char* packet);
|
||||
int numBytesForArithmeticCodedPacketType(PacketType packetType);
|
||||
int numBytesForPacketHeaderGivenPacketType(PacketType packetType);
|
||||
int numBytesForArithmeticCodedPacketType(PacketType::Value packetType);
|
||||
int numBytesForPacketHeaderGivenPacketType(PacketType::Value packetType);
|
||||
|
||||
QUuid uuidFromPacketHeader(const QByteArray& packet);
|
||||
|
||||
int hashOffsetForPacketType(PacketType packetType);
|
||||
int sequenceNumberOffsetForPacketType(PacketType packetType);
|
||||
int hashOffsetForPacketType(PacketType::Value packetType);
|
||||
int sequenceNumberOffsetForPacketType(PacketType::Value packetType);
|
||||
|
||||
QByteArray hashFromPacketHeader(const QByteArray& packet);
|
||||
QByteArray hashForPacketAndConnectionUUID(const QByteArray& packet, const QUuid& connectionUUID);
|
||||
|
@ -141,15 +129,15 @@ QByteArray hashForPacketAndConnectionUUID(const QByteArray& packet, const QUuid&
|
|||
// NOTE: The following four methods accept a PacketType which defaults to PacketTypeUnknown.
|
||||
// If the caller has already looked at the packet type and can provide it then the methods below won't have to look it up.
|
||||
|
||||
PacketSequenceNumber sequenceNumberFromHeader(const QByteArray& packet, PacketType packetType = PacketTypeUnknown);
|
||||
PacketSequenceNumber sequenceNumberFromHeader(const QByteArray& packet, PacketType::Value packetType = PacketTypeUnknown);
|
||||
|
||||
void replaceHashInPacket(QByteArray& packet, const QUuid& connectionUUID, PacketType packetType = PacketTypeUnknown);
|
||||
void replaceHashInPacket(QByteArray& packet, const QUuid& connectionUUID, PacketType::Value packetType = PacketTypeUnknown);
|
||||
|
||||
void replaceSequenceNumberInPacket(QByteArray& packet, PacketSequenceNumber sequenceNumber,
|
||||
PacketType packetType = PacketTypeUnknown);
|
||||
PacketType::Value packetType = PacketTypeUnknown);
|
||||
|
||||
void replaceHashAndSequenceNumberInPacket(QByteArray& packet, const QUuid& connectionUUID, PacketSequenceNumber sequenceNumber,
|
||||
PacketType packetType = PacketTypeUnknown);
|
||||
PacketType::Value packetType = PacketTypeUnknown);
|
||||
|
||||
int arithmeticCodingValueFromBuffer(const char* checkValue);
|
||||
int numBytesArithmeticCodingFromBuffer(const char* checkValue);
|
||||
|
|
Loading…
Reference in a new issue