public static ByteBuffer WithCapactiy(int capacity) { ByteBuffer buffer = new ByteBuffer(); buffer._buffer = new byte[capacity]; buffer._capacity = capacity; return buffer; }
public static ByteBuffer FromBuffer(byte[] data) { ByteBuffer buffer = new ByteBuffer(); buffer._buffer = data; buffer._capacity = buffer._length = data.Length; return buffer; }
private static void WriteVarInt(ByteBuffer data, int v) { var n = 0; var array = new byte[4]; do { array[n++] = (byte)((v & 0x7F) & 0xFF); v >>= 7; } while (v > 0); while (n > 0) { n--; if (n > 0) data.WriteByte((byte)((array[n] | 0x80) & 0xFF)); else data.WriteByte(array[n]); } }