public int getMaxFrameSize() { return headerGenerator.getMaxFrameSize(); } }
public int getMaxFrameSize() { return headerGenerator.getMaxFrameSize(); } }
public int generateData(ByteBufferPool.Lease lease, int streamId, ByteBuffer data, boolean last, int maxLength) { if (streamId < 0) throw new IllegalArgumentException("Invalid stream id: " + streamId); int dataLength = data.remaining(); int maxFrameSize = headerGenerator.getMaxFrameSize(); int length = Math.min(dataLength, Math.min(maxFrameSize, maxLength)); if (length == dataLength) { generateFrame(lease, streamId, data, last); } else { int limit = data.limit(); int newLimit = data.position() + length; data.limit(newLimit); ByteBuffer slice = data.slice(); data.position(newLimit); data.limit(limit); generateFrame(lease, streamId, slice, false); } return Frame.HEADER_LENGTH + length; }
public int generateData(ByteBufferPool.Lease lease, int streamId, ByteBuffer data, boolean last, int maxLength) { if (streamId < 0) throw new IllegalArgumentException("Invalid stream id: " + streamId); int dataLength = data.remaining(); int maxFrameSize = headerGenerator.getMaxFrameSize(); int length = Math.min(dataLength, Math.min(maxFrameSize, maxLength)); if (length == dataLength) { generateFrame(lease, streamId, data, last); } else { int limit = data.limit(); int newLimit = data.position() + length; data.limit(newLimit); ByteBuffer slice = data.slice(); data.position(newLimit); data.limit(limit); generateFrame(lease, streamId, slice, false); } return Frame.HEADER_LENGTH + length; }