public ReadableBuilder append(byte[] bytes) { return append(bytes, 0, bytes.length); }
public ReadableData toReadableData() { ReadableBuilder builder = new ReadableBuilder(); if (id != null) builder.append(idPrefix).append(id.getBytes(StandardCharsets.UTF_8)).append(lineSeparator); if (event != null) builder.append(eventPrefix).append(event.getBytes(StandardCharsets.UTF_8)).append(lineSeparator); if (data != null) builder.append(dataPrefix).append(data.getBytes(StandardCharsets.UTF_8)).append(lineSeparator); builder.append(lineSeparator); return builder; }
public void send(ReadableData readableData) { ReadableData peek = sending.peek(); if (peek != null) { ((ReadableBuilder) peek).append(readableData); } else sending.add(readableData); }
@Override public ReadableBuilder append(byte[] bytes, int offset, int length) { if (bb.buffer().remaining() > length) { bb.put(bytes, offset, length); return this; } else return super.append(bytes, offset, length); }
public ReadableBuilderProxy append(ReadableDirectByteBuffer s1, ReadableDirectByteBuffer s2, ReadableDirectByteBuffer s3, ReadableDirectByteBuffer s4, ReadableDirectByteBuffer s5) { if (bb.buffer().remaining() >= s1.length() + s2.length() + s3.length() + s4.length() + s5.length()) { ReadableDirectByteBuffer.read(bb, s1, s2, s3, s4, s5); return this; } else { super.append(s1.copy()); super.append(s2.copy()); super.append(s3.copy()); super.append(s4.copy()); super.append(s5.copy()); } return this; } }
public ReadableBuilder append(ReadableDirectByteBuffer readableData) { if (bb.buffer().remaining() > readableData.length()) { ReadableDirectByteBuffer.copy(bb, readableData); return this; } else return super.append(readableData.copy()); }
@Override public ReadableBuilder append(ReadableData readableData) { if (bb.buffer().remaining() > readableData.length()) { readableData.read(bb); try { readableData.close(); } catch (IOException e) { throw Unchecked.rethrow(e); } return this; } else return super.append(readableData); }
public static ReadableData renderJson(Object o) { Ref ref = new Ref(); JsonTools.serialize(o, () -> { PooledReadableByteArray buffer = ReadableByteArrayPool.get(); ref.buffer = buffer; return buffer.bytes(); }, (buffer, offset, length) -> { PooledReadableByteArray byteArray = ref.buffer; byteArray.length(length); if (ref.builder != null || length >= byteArray.bytes().length - 4) { if (ref.builder == null) ref.builder = new ReadableBuilder(2); ref.builder.append(byteArray); } }); if (ref.builder != null) return ref.builder; if (ref.buffer != null) return ref.buffer; return EMPTY; }