@Override public LinkedBuffer writeStrUTF8VarDelimited(final CharSequence value, final WriteSession session, LinkedBuffer lb) throws IOException { return StringSerializer.writeUTF8VarDelimited(value, session, lb); }
return writeUTF8VarDelimited(str, 0, len, TWO_BYTE_LOWER_LIMIT, 2, session, lb); return writeUTF8VarDelimited(str, 0, len, THREE_BYTE_LOWER_LIMIT, 3, session, lb); return writeUTF8VarDelimited(str, 0, len, FOUR_BYTE_LOWER_LIMIT, 4, session, lb); return writeUTF8VarDelimited(str, 0, len, FIVE_BYTE_LOWER_LIMIT, 5, session, lb);
@Override public void writeString(int fieldNumber, CharSequence value, boolean repeated) throws IOException { tail = writeUTF8VarDelimited( value, this, writeRawVarInt32(makeTag(fieldNumber, WIRETYPE_LENGTH_DELIMITED), this, tail)); }
public static void checkVarDelimitedBoundry(int initialGap, int secondWriteSize) { int bufferSize = 256; final LinkedBuffer lb = LinkedBuffer.allocate(bufferSize); WriteSession session = new WriteSession(lb, bufferSize); // Should fill up the buffer with initialGap byte(s) left StringSerializer.writeUTF8(repeatChar('a', bufferSize - initialGap), session, lb); // Write a string of length secondWriteSize that should be larger // than the next buffer size assertTrue(secondWriteSize > bufferSize); StringSerializer.writeUTF8VarDelimited(repeatChar('a', secondWriteSize), session, lb); }
static void checkVarDelimited(CharSequence str, int size, int stringLen) throws Exception { LinkedBuffer lb = new LinkedBuffer(512); WriteSession session = new WriteSession(lb); StringSerializer.writeUTF8VarDelimited(str, session, lb); byte[] buf = session.toByteArray(); assertTrue(buf.length == stringLen + size); int len = readRawVarint32(lb.buffer, 0); assertTrue(len == stringLen); print("total len: " + buf.length); }
@Override public final void writeString(int tag, int tagSize, String value) { tail = writeUTF8VarDelimited( value, this, writeRawVarInt32(tag, this, tail)); }