Java Code Examples for io.netty.buffer.Unpooled#directBuffer()
The following examples show how to use
io.netty.buffer.Unpooled#directBuffer() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ByteBufUtilBenchmark.java From netty-4.1.22 with Apache License 2.0 | 6 votes |
@Setup public void setup() { // Use buffer sizes that will also allow to write UTF-8 without grow the buffer buffer = Unpooled.directBuffer(512); wrapped = Unpooled.unreleasableBuffer(Unpooled.directBuffer(512)); asciiSequence = new StringBuilder(128); for (int i = 0; i < 128; i++) { asciiSequence.append('a'); } ascii = asciiSequence.toString(); // Generate some mixed UTF-8 String for benchmark utf8Sequence = new StringBuilder(128); char[] chars = "Some UTF-8 like äÄ∏ŒŒ".toCharArray(); for (int i = 0; i < 128; i++) { utf8Sequence.append(chars[i % chars.length]); } utf8 = utf8Sequence.toString(); asciiSequence = utf8Sequence; asciiBuffer = Unpooled.copiedBuffer(ascii, CharsetUtil.US_ASCII); utf8Buffer = Unpooled.copiedBuffer(utf8, CharsetUtil.UTF_8); }
Example 2
Source File: AmqpReadableBufferTest.java From qpid-jms with Apache License 2.0 | 6 votes |
@Test
public void testGetBytesToWritableBufferThatIsDirect() {
byte[] data = new byte[] { 0, 1, 2, 3, 4};
ByteBuf byteBuffer = Unpooled.directBuffer(data.length, data.length);
byteBuffer.writeBytes(data);
AmqpReadableBuffer buffer = new AmqpReadableBuffer(byteBuffer);
ByteBuf targetBuffer = Unpooled.buffer(data.length, data.length);
AmqpWritableBuffer target = new AmqpWritableBuffer(targetBuffer);
buffer.get(target);
assertFalse(buffer.hasRemaining());
for (int i = 0; i < data.length; i++) {
assertEquals(data[i], target.getBuffer().readByte());
}
}
Example 3
Source File: ProtonReadableBufferImplTest.java From vertx-proton with Apache License 2.0 | 6 votes |
@Test
public void testGetBytesToWritableBufferThatIsDirect() {
byte[] data = new byte[] { 0, 1, 2, 3, 4 };
ByteBuf byteBuffer = Unpooled.directBuffer(data.length, data.length);
byteBuffer.writeBytes(data);
ProtonReadableBufferImpl buffer = new ProtonReadableBufferImpl(byteBuffer);
ByteBuf targetBuffer = Unpooled.buffer(data.length, data.length);
ProtonWritableBufferImpl target = new ProtonWritableBufferImpl(targetBuffer);
buffer.get(target);
assertFalse(buffer.hasRemaining());
for (int i = 0; i < data.length; i++) {
assertEquals(data[i], target.getBuffer().readByte());
}
}
Example 4
Source File: ByteBufUtilBenchmark.java From netty4.0.27Learn with Apache License 2.0 | 6 votes |
@Setup public void setup() { // Use buffer sizes that will also allow to write UTF-8 without grow the buffer buffer = Unpooled.directBuffer(512); wrapped = Unpooled.unreleasableBuffer(Unpooled.directBuffer(512)); asciiSequence = new StringBuilder(128); for (int i = 0; i < 128; i++) { asciiSequence.append('a'); } ascii = asciiSequence.toString(); // Generate some mixed UTF-8 String for benchmark utf8Sequence = new StringBuilder(128); char[] chars = "Some UTF-8 like äÄ∏ŒŒ".toCharArray(); for (int i = 0; i < 128; i++) { utf8Sequence.append(chars[i % chars.length]); } utf8 = utf8Sequence.toString(); asciiSequence = utf8Sequence; }
Example 5
Source File: ZstdEncoderTest.java From x-pipe with Apache License 2.0 | 6 votes |
@Test
public void testEncodeUnCompressed() {
String sample = randomString(MIN_BLOCK_SIZE);
EmbeddedChannel channel = new EmbeddedChannel(encoder);
ByteBuf byteBuf = Unpooled.directBuffer(MIN_BLOCK_SIZE);
byte[] sampleBytes = sample.getBytes();
byteBuf.ensureWritable(sampleBytes.length);
byteBuf.writeBytes(sampleBytes);
Assert.assertTrue(channel.writeOutbound(byteBuf));
ByteBuf target = channel.readOutbound();
Assert.assertNotNull(target);
target.readerIndex(HEADER_LENGTH);
Assert.assertEquals(sample, target.toString(Charset.defaultCharset()));
}
Example 6
Source File: NettyReadableTest.java From activemq-artemis with Apache License 2.0 | 6 votes |
@Test
public void testGetBytesToWritableBufferThatIsDirect() {
byte[] data = new byte[] {0, 1, 2, 3, 4};
ByteBuf byteBuffer = Unpooled.directBuffer(data.length, data.length);
byteBuffer.writeBytes(data);
NettyReadable buffer = new NettyReadable(byteBuffer);
ByteBuf targetBuffer = Unpooled.buffer(data.length, data.length);
NettyWritable target = new NettyWritable(targetBuffer);
buffer.get(target);
assertFalse(buffer.hasRemaining());
for (int i = 0; i < data.length; i++) {
assertEquals(data[i], target.getByteBuf().readByte());
}
}
Example 7
Source File: AsyncByteReader.java From dremio-oss with Apache License 2.0 | 5 votes |
/**
* Read data and return as a byte array.
* @param offset File offset to read from
* @param len Number of bytes to read
* @return A CompletableFuture that will be carry the byte[] result when the read is completed
*/
default CompletableFuture<byte[]> readFully(long offset, int len) {
final ByteBuf buf = Unpooled.directBuffer(len);
CompletableFuture<Void> innerFuture = readFully(offset, buf, 0, len);
return innerFuture.thenApply((v) -> {
byte[] bytes = new byte[len];
buf.getBytes(0, bytes, 0, len);
return bytes;
}).whenComplete((a,b) -> buf.release());
}
Example 8
Source File: NettyReadableTest.java From activemq-artemis with Apache License 2.0 | 5 votes |
@Test
public void testArrayAccessWhenNoArray() {
ByteBuf byteBuffer = Unpooled.directBuffer();
NettyReadable buffer = new NettyReadable(byteBuffer);
assertFalse(buffer.hasArray());
}
Example 9
Source File: ZstdDecoderTest.java From x-pipe with Apache License 2.0 | 5 votes |
private ByteBuf getInputByteBuf(String sample) {
ByteBuf byteBuf = Unpooled.directBuffer(DEFAULT_BLOCK_SIZE);
byte[] sampleBytes = sample.getBytes();
byteBuf.ensureWritable(sampleBytes.length);
byteBuf.writeBytes(sampleBytes);
return byteBuf;
}
Example 10
Source File: ByteBufBenchmark.java From netty-4.1.22 with Apache License 2.0 | 5 votes |
@Setup public void setup() { byteBuffer = ByteBuffer.allocate(8); directByteBuffer = ByteBuffer.allocateDirect(8); buffer = Unpooled.buffer(8); directBuffer = Unpooled.directBuffer(8); directBufferPooled = PooledByteBufAllocator.DEFAULT.directBuffer(8); }
Example 11
Source File: ProtonReadableBufferImplTest.java From vertx-proton with Apache License 2.0 | 5 votes |
@Test
public void testArrayAccessWhenNoArray() {
ByteBuf byteBuffer = Unpooled.directBuffer();
ProtonReadableBufferImpl buffer = new ProtonReadableBufferImpl(byteBuffer);
assertFalse(buffer.hasArray());
}
Example 12
Source File: AbstractDecoderTest.java From netty-4.1.22 with Apache License 2.0 | 5 votes |
@DataPoints("largeData")
public static ByteBuf[] largeData() {
ByteBuf heap = Unpooled.wrappedBuffer(compressedBytesLarge);
ByteBuf direct = Unpooled.directBuffer(compressedBytesLarge.length);
direct.writeBytes(compressedBytesLarge);
return new ByteBuf[] {heap, direct};
}
Example 13
Source File: AbstractDecoderTest.java From netty-4.1.22 with Apache License 2.0 | 5 votes |
@DataPoints("smallData")
public static ByteBuf[] smallData() {
ByteBuf heap = Unpooled.wrappedBuffer(compressedBytesSmall);
ByteBuf direct = Unpooled.directBuffer(compressedBytesSmall.length);
direct.writeBytes(compressedBytesSmall);
return new ByteBuf[] {heap, direct};
}
Example 14
Source File: AbstractEncoderTest.java From netty-4.1.22 with Apache License 2.0 | 5 votes |
@DataPoints("largeData")
public static ByteBuf[] largeData() {
ByteBuf heap = Unpooled.wrappedBuffer(BYTES_LARGE);
ByteBuf direct = Unpooled.directBuffer(BYTES_LARGE.length);
direct.writeBytes(BYTES_LARGE);
return new ByteBuf[] {heap, direct};
}
Example 15
Source File: SwappedByteBufBenchmark.java From netty-4.1.22 with Apache License 2.0 | 5 votes |
@Setup public void setup() { swappedByteBuf = new SwappedByteBuf(Unpooled.directBuffer(8)); unsafeSwappedByteBuf = Unpooled.directBuffer(8).order(ByteOrder.LITTLE_ENDIAN); if (unsafeSwappedByteBuf.getClass().equals(SwappedByteBuf.class)) { throw new IllegalStateException("Should not use " + SwappedByteBuf.class.getSimpleName()); } }
Example 16
Source File: TestBulkInputStream.java From dremio-oss with Apache License 2.0 | 4 votes |
private void testSeekableStream(SeekableInputStream inputStream) throws IOException {
int streamPos = 0;
assertEquals(streamPos, inputStream.getPos());
// Read some bytes from the start
final byte[] buf = new byte[1000];
inputStream.readFully(buf, 0, 88);
compareData(buf, 0, streamPos, 88);
streamPos += 88;
assertEquals(streamPos, inputStream.getPos());
final byte[] shortBuf = new byte[17];
inputStream.readFully(shortBuf);
compareData(shortBuf, 0, streamPos, 17);
streamPos += 17;
assertEquals(streamPos, inputStream.getPos());
// test ByteBuffer interfaces
final ByteBuffer shortByteBuf = ByteBuffer.allocate(25);
inputStream.read(shortByteBuf);
compareData(shortByteBuf.array(), 0, streamPos, 25);
streamPos += 25;
assertEquals(streamPos, inputStream.getPos());
final ByteBuffer shortByteBuf2 = ByteBuffer.allocateDirect(71);
inputStream.read(shortByteBuf2);
final ByteBuf compareBuf = Unpooled.directBuffer(100);
shortByteBuf2.flip();
compareBuf.writeBytes(shortByteBuf2);
compareData(compareBuf, streamPos, 71);
streamPos += 71;
assertEquals(streamPos, inputStream.getPos());
final ByteBuffer shortByteBuf3 = ByteBuffer.allocate(66);
inputStream.readFully(shortByteBuf3);
compareData(shortByteBuf3.array(), 0, streamPos, 66);
streamPos += 66;
assertEquals(streamPos, inputStream.getPos());
// Test plain old read interface
buf[0] = (byte) inputStream.read();
buf[1] = (byte) inputStream.read();
buf[2] = (byte) inputStream.read();
compareData(buf, 0, streamPos, 3);
streamPos += 3;
assertEquals(streamPos, inputStream.getPos());
// Skip some, then read
streamPos += 50; // skip 50 bytes
inputStream.seek(streamPos);
inputStream.readFully(buf, 0, 37);
compareData(buf, 0, streamPos, 37);
streamPos += 37;
assertEquals(streamPos, inputStream.getPos());
// skip to near the end, then read
streamPos = TEST_DATA_SIZE - 100;
inputStream.seek(streamPos);
inputStream.readFully(buf, 0, 100);
compareData(buf, 0, streamPos,100);
streamPos += 100;
assertEquals(streamPos, inputStream.getPos());
}
Example 17
Source File: CreateByteBufferByNettyTest.java From netty.book.kor with MIT License | 4 votes |
@Test
public void createUnpooledDirectBufferTest() {
ByteBuf buf = Unpooled.directBuffer(11);
testBuffer(buf, true);
}
Example 18
Source File: ReadWriteByteBufferByNettyTest.java From netty.book.kor with MIT License | 4 votes |
@Test
public void createUnpooledDirectBufferTest() {
ByteBuf buf = Unpooled.directBuffer(11);
testBuffer(buf, true);
}
Example 19
Source File: DynamicByteBufferTest.java From netty.book.kor with MIT License | 4 votes |
@Test
public void createUnpooledDirectBufferTest() {
ByteBuf buf = Unpooled.directBuffer(11);
testBuffer(buf, true);
}
Example 20
Source File: ConsumerImpl.java From pulsar with Apache License 2.0 | 4 votes |
private ByteBuf processMessageChunk(ByteBuf compressedPayload, MessageMetadata msgMetadata, MessageIdImpl msgId,
MessageIdData messageId, ClientCnx cnx) {
// Lazy task scheduling to expire incomplete chunk message
if (!expireChunkMessageTaskScheduled && expireTimeOfIncompleteChunkedMessageMillis > 0) {
((ScheduledExecutorService) listenerExecutor).scheduleAtFixedRate(() -> {
removeExpireIncompleteChunkedMessages();
}, expireTimeOfIncompleteChunkedMessageMillis, expireTimeOfIncompleteChunkedMessageMillis,
TimeUnit.MILLISECONDS);
expireChunkMessageTaskScheduled = true;
}
if (msgMetadata.getChunkId() == 0) {
ByteBuf chunkedMsgBuffer = Unpooled.directBuffer(msgMetadata.getTotalChunkMsgSize(),
msgMetadata.getTotalChunkMsgSize());
int totalChunks = msgMetadata.getNumChunksFromMsg();
chunkedMessagesMap.computeIfAbsent(msgMetadata.getUuid(),
(key) -> ChunkedMessageCtx.get(totalChunks, chunkedMsgBuffer));
pendingChunckedMessageCount++;
if (maxPendingChuckedMessage > 0 && pendingChunckedMessageCount > maxPendingChuckedMessage) {
removeOldestPendingChunkedMessage();
}
pendingChunckedMessageUuidQueue.add(msgMetadata.getUuid());
}
ChunkedMessageCtx chunkedMsgCtx = chunkedMessagesMap.get(msgMetadata.getUuid());
// discard message if chunk is out-of-order
if (chunkedMsgCtx == null || chunkedMsgCtx.chunkedMsgBuffer == null
|| msgMetadata.getChunkId() != (chunkedMsgCtx.lastChunkedMessageId + 1)
|| msgMetadata.getChunkId() >= msgMetadata.getTotalChunkMsgSize()) {
// means we lost the first chunk: should never happen
log.info("Received unexpected chunk messageId {}, last-chunk-id{}, chunkId = {}, total-chunks {}", msgId,
(chunkedMsgCtx != null ? chunkedMsgCtx.lastChunkedMessageId : null), msgMetadata.getChunkId(),
msgMetadata.getTotalChunkMsgSize());
if (chunkedMsgCtx != null) {
if (chunkedMsgCtx.chunkedMsgBuffer != null) {
ReferenceCountUtil.safeRelease(chunkedMsgCtx.chunkedMsgBuffer);
}
chunkedMsgCtx.recycle();
}
chunkedMessagesMap.remove(msgMetadata.getUuid());
compressedPayload.release();
increaseAvailablePermits(cnx);
if (expireTimeOfIncompleteChunkedMessageMillis > 0
&& System.currentTimeMillis() > (msgMetadata.getPublishTime()
+ expireTimeOfIncompleteChunkedMessageMillis)) {
doAcknowledge(msgId, AckType.Individual, Collections.emptyMap(), null);
} else {
trackMessage(msgId);
}
return null;
}
chunkedMsgCtx.chunkedMessageIds[msgMetadata.getChunkId()] = msgId;
// append the chunked payload and update lastChunkedMessage-id
chunkedMsgCtx.chunkedMsgBuffer.writeBytes(compressedPayload);
chunkedMsgCtx.lastChunkedMessageId = msgMetadata.getChunkId();
// if final chunk is not received yet then release payload and return
if (msgMetadata.getChunkId() != (msgMetadata.getNumChunksFromMsg() - 1)) {
compressedPayload.release();
increaseAvailablePermits(cnx);
return null;
}
// last chunk received: so, stitch chunked-messages and clear up chunkedMsgBuffer
if (log.isDebugEnabled()) {
log.debug("Chunked message completed chunkId {}, total-chunks {}, msgId {} sequenceId {}",
msgMetadata.getChunkId(), msgMetadata.getNumChunksFromMsg(), msgId, msgMetadata.getSequenceId());
}
// remove buffer from the map, add chucked messageId to unack-message tracker, and reduce pending-chunked-message count
chunkedMessagesMap.remove(msgMetadata.getUuid());
unAckedChunckedMessageIdSequenceMap.put(msgId, chunkedMsgCtx.chunkedMessageIds);
pendingChunckedMessageCount--;
compressedPayload.release();
compressedPayload = chunkedMsgCtx.chunkedMsgBuffer;
chunkedMsgCtx.recycle();
ByteBuf uncompressedPayload = uncompressPayloadIfNeeded(messageId, msgMetadata, compressedPayload, cnx, false);
compressedPayload.release();
return uncompressedPayload;
}