public byte[] ConstructHeader(int length)
{
if (length < 2)
{
throw new ArgumentOutOfRangeException("length", length, CommonStrings.PacketLengthMustBeMoreThan2Bytes);
}
int encodedVersion = ((this.iv[2] << 8) | this.iv[3]) ^ this.versionMask;
int encodedLength = encodedVersion ^ (((length & 0xFF) << 8) | (length >> 8));
var header = new byte[4];
unchecked
{
header[0] = (byte)(encodedVersion >> 8);
header[1] = (byte)encodedVersion;
header[2] = (byte)(encodedLength >> 8);
header[3] = (byte)encodedLength;
}
return header;
}