public bool TryGetLength(byte[] header, out int length)
{
Guard.NotNull(() => header, header);
if (header.Length < 4)
{
var message = string.Format(CommonStrings.SegmentTooShort, 4);
throw new ArgumentException(message, "header");
}
if (ValidateHeaderInternal(header, this.iv, this.versionMask))
{
length = ((header[1] ^ header[3]) << 8) | (header[0] ^ header[2]);
return true;
}
else
{
length = default(int);
return false;
}
}