public ulong ReadCompact() { int compactSize; var v = CompactInt.ReadCompact(_array, _cursor, out compactSize); _cursor += compactSize; return(v); }
public byte[] ReadVarBytes(int maxCount) { int compactSize; var count = CompactInt.ReadCompact(_array, _cursor, out compactSize); if (count > (ulong)maxCount) { throw new Exception($"Deserialized count {count} exceeds maximum allowed value {maxCount}"); } var ret = new byte[count]; Array.Copy(_array, _cursor + compactSize, ret, 0, (int)count); _cursor += compactSize + (int)count; return(ret); }