@Override public void writeByte(byte b) { assureSize(1); buffer[pos++] = b; }
@Override public void writeBytes(byte[] bytes) { int length = bytes.length; assureSize(length); System.arraycopy(bytes, 0, buffer, pos, length); pos += length; }
/** * Writes an int in a variable-length format. Writes between one and * five bytes. Smaller values take fewer bytes. Negative numbers are not * supported. */ @Override public void writeVInt(int i) { assureSize(5); writeVIntUnsafe(i); }
@Override public void writeInt(int integer) { assureSize(4); // Make sure the buffer has enough space writeIntUnsafe(integer); }
@Override public void writeBoolean(boolean b) { assureSize(1); writeByteUnsafe(b ? ONE : ZERO); }
/** * Writes a long in a variable-length format. Writes between one and five * bytes. Smaller values take fewer bytes. Negative numbers are not * supported. */ @Override public void writeVLong(long i) { assureSize(5); writeVLongUnsafe(i); }
@Override public void writeLong(long value) { assureSize(8); writeIntUnsafe((int) (value >> 32)); writeIntUnsafe((int) value); }
@Override public void writeShort(int value) { assureSize(2); writeByteUnsafe((byte) (value >> 8)); writeByteUnsafe((byte) value); }
assureSize(4 + utflen); // Make sure the buffer has enough space to put the bytes for the length and the string