# InternalPacket.h File Reference

[Internal] A class which stores a user message, and all information associated with sending and receiving that message. More...

`#include "PacketPriority.h"`
`#include "RakNetTypes.h"`
`#include "RakMemoryOverride.h"`
`#include "RakNetDefines.h"`
`#include "NativeTypes.h"`
`#include "CCRakNetSlidingWindow.h"`

## Classes
struct | InternalPacketRefCountedData
| Used in InternalPacket when pointing to sharedDataBlock, rather than allocating itself. More...
struct | InternalPacket
## Typedefs
typedef uint24_t | MessageNumberType
typedef MessageNumberType | OrderingIndexType

## Detailed Description

[Internal] A class which stores a user message, and all information associated with sending and receiving that message.

This file is part of RakNet Copyright 2003 Jenkins Software LLC

Usage of RakNet is subject to the appropriate license agreement. Creative Commons Licensees are subject to the license found at http://creativecommons.org/licenses/by-nc/2.5/ Single application licensees are subject to the license found at http://www.jenkinssoftware.com/SingleApplicationLicense.html Custom license users are subject to the terms therein. GPL license users are subject to the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

## Typedef Documentation

typedef uint24_t MessageNumberType

This is the counter used for holding packet numbers, so we can detect duplicate packets. It should be large enough that if the variables Internally assumed to be 4 bytes, but written as 3 bytes in ReliabilityLayer::WriteToBitStreamFromInternalPacket

typedef MessageNumberType OrderingIndexType

This is the counter used for holding ordered packet numbers, so we can detect out-of-order packets. It should be large enough that if the variables were to wrap, the newly wrapped values would no longer be in use. Warning: Too large of a value wastes bandwidth!