public int getSizeInBytes() { int size = 2; for (ProducerRequest produce : produces) { size += produce.getSizeInBytes(); } return size; }
@Override public String toString() { StringBuilder buf = new StringBuilder(); for (ProducerRequest produce : produces) { buf.append(produce.toString()).append(","); } return buf.toString(); }
public void writeTo(ByteBuffer buffer) { if (produces.size() > Short.MAX_VALUE) { throw new IllegalArgumentException( "Number of requests in MultiFetchRequest exceeds " + Short.MAX_VALUE + "."); } buffer.putShort((short) produces.size()); for (ProducerRequest produce : produces) { produce.writeTo(buffer); } }
public static MultiProducerRequest readFrom(ByteBuffer buffer) { int count = buffer.getShort(); List<ProducerRequest> produces = new ArrayList<ProducerRequest>(count); for (int i = 0; i < count; i++) { produces.add(ProducerRequest.readFrom(buffer)); } return new MultiProducerRequest(produces); }