use of org.apache.hc.core5.http2.impl.BasicH2TransportMetrics in project httpcomponents-core by apache.
the class TestFrameInOutBuffers method testReadFrameMultipleSmallBuffer.
@Test
public void testReadFrameMultipleSmallBuffer() throws Exception {
final FrameInputBuffer inBuffer = new FrameInputBuffer(new BasicH2TransportMetrics(), 20, 10);
final ReadableByteChannelMock readableChannel = new ReadableByteChannelMock(new byte[] { 0, 0, 10, 0, 8, 0, 0, 0, 8, 4, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 8, 2, 2, 2, 2, 2, 0, 0, 10, 0, 9, 0, 0, 0, 8, 4, 3, 3, 3, 3, 3, 0, 0, 0, 0 });
final RawFrame frame1 = inBuffer.read(readableChannel);
Assertions.assertEquals(FrameType.DATA, FrameType.valueOf(frame1.getType()));
Assertions.assertEquals(8, frame1.getFlags());
Assertions.assertEquals(8, frame1.getStreamId());
final ByteBuffer payload1 = frame1.getPayloadContent();
Assertions.assertNotNull(payload1);
Assertions.assertEquals(5, payload1.remaining());
Assertions.assertEquals(1, payload1.get());
Assertions.assertEquals(1, payload1.get());
Assertions.assertEquals(1, payload1.get());
Assertions.assertEquals(1, payload1.get());
Assertions.assertEquals(1, payload1.get());
final RawFrame frame2 = inBuffer.read(readableChannel);
Assertions.assertEquals(FrameType.DATA, FrameType.valueOf(frame2.getType()));
Assertions.assertEquals(0, frame2.getFlags());
Assertions.assertEquals(8, frame2.getStreamId());
final ByteBuffer payload2 = frame2.getPayloadContent();
Assertions.assertNotNull(payload2);
Assertions.assertEquals(5, payload2.remaining());
Assertions.assertEquals(2, payload2.get());
Assertions.assertEquals(2, payload2.get());
Assertions.assertEquals(2, payload2.get());
Assertions.assertEquals(2, payload2.get());
Assertions.assertEquals(2, payload2.get());
final RawFrame frame3 = inBuffer.read(readableChannel);
Assertions.assertEquals(FrameType.DATA, FrameType.valueOf(frame3.getType()));
Assertions.assertEquals(FrameFlag.of(FrameFlag.END_STREAM, FrameFlag.PADDED), frame3.getFlags());
Assertions.assertEquals(8, frame3.getStreamId());
final ByteBuffer payload3 = frame3.getPayloadContent();
Assertions.assertNotNull(payload3);
Assertions.assertEquals(5, payload3.remaining());
Assertions.assertEquals(3, payload3.get());
Assertions.assertEquals(3, payload3.get());
Assertions.assertEquals(3, payload3.get());
Assertions.assertEquals(3, payload3.get());
Assertions.assertEquals(3, payload3.get());
Assertions.assertEquals(-1, readableChannel.read(ByteBuffer.allocate(1024)));
}
use of org.apache.hc.core5.http2.impl.BasicH2TransportMetrics in project httpcomponents-core by apache.
the class TestFrameInOutBuffers method testReadFrameMultipleSmallBuffer.
@Test
public void testReadFrameMultipleSmallBuffer() throws Exception {
final FrameInputBuffer inBuffer = new FrameInputBuffer(new BasicH2TransportMetrics(), 20, 10);
final ByteArrayInputStream inputStream = new ByteArrayInputStream(new byte[] { 0, 0, 10, 0, 8, 0, 0, 0, 8, 4, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 8, 2, 2, 2, 2, 2, 0, 0, 10, 0, 9, 0, 0, 0, 8, 4, 3, 3, 3, 3, 3, 0, 0, 0, 0 });
final RawFrame frame1 = inBuffer.read(inputStream);
Assertions.assertEquals(FrameType.DATA, FrameType.valueOf(frame1.getType()));
Assertions.assertEquals(8, frame1.getFlags());
Assertions.assertEquals(8, frame1.getStreamId());
final ByteBuffer payload1 = frame1.getPayloadContent();
Assertions.assertNotNull(payload1);
Assertions.assertEquals(5, payload1.remaining());
Assertions.assertEquals(1, payload1.get());
Assertions.assertEquals(1, payload1.get());
Assertions.assertEquals(1, payload1.get());
Assertions.assertEquals(1, payload1.get());
Assertions.assertEquals(1, payload1.get());
final RawFrame frame2 = inBuffer.read(inputStream);
Assertions.assertEquals(FrameType.DATA, FrameType.valueOf(frame2.getType()));
Assertions.assertEquals(0, frame2.getFlags());
Assertions.assertEquals(8, frame2.getStreamId());
final ByteBuffer payload2 = frame2.getPayloadContent();
Assertions.assertNotNull(payload2);
Assertions.assertEquals(5, payload2.remaining());
Assertions.assertEquals(2, payload2.get());
Assertions.assertEquals(2, payload2.get());
Assertions.assertEquals(2, payload2.get());
Assertions.assertEquals(2, payload2.get());
Assertions.assertEquals(2, payload2.get());
final RawFrame frame3 = inBuffer.read(inputStream);
Assertions.assertEquals(FrameType.DATA, FrameType.valueOf(frame3.getType()));
Assertions.assertEquals(FrameFlag.of(FrameFlag.END_STREAM, FrameFlag.PADDED), frame3.getFlags());
Assertions.assertEquals(8, frame3.getStreamId());
final ByteBuffer payload3 = frame3.getPayloadContent();
Assertions.assertNotNull(payload3);
Assertions.assertEquals(5, payload3.remaining());
Assertions.assertEquals(3, payload3.get());
Assertions.assertEquals(3, payload3.get());
Assertions.assertEquals(3, payload3.get());
Assertions.assertEquals(3, payload3.get());
Assertions.assertEquals(3, payload3.get());
Assertions.assertEquals(-1, inputStream.read());
}
Aggregations