List of usage examples for io.netty.buffer PooledByteBufAllocator DEFAULT
PooledByteBufAllocator DEFAULT
To view the source code for io.netty.buffer PooledByteBufAllocator DEFAULT.
Click Source Link
From source file:com.yahoo.pulsar.common.compression.CommandsTest.java
License:Apache License
private int computeChecksum(MessageMetadata msgMetadata, ByteBuf compressedPayload) throws IOException { int metadataSize = msgMetadata.getSerializedSize(); int metadataFrameSize = 4 + metadataSize; ByteBuf metaPayloadFrame = PooledByteBufAllocator.DEFAULT.buffer(metadataFrameSize, metadataFrameSize); ByteBufCodedOutputStream outStream = ByteBufCodedOutputStream.get(metaPayloadFrame); metaPayloadFrame.writeInt(metadataSize); msgMetadata.writeTo(outStream);/* ww w . java 2 s . co m*/ ByteBuf payload = compressedPayload.copy(); ByteBuf metaPayloadBuf = DoubleByteBuf.get(metaPayloadFrame, payload); int computedChecksum = Crc32cChecksum.computeChecksum(metaPayloadBuf); outStream.recycle(); metaPayloadBuf.release(); return computedChecksum; }
From source file:com.yahoo.pulsar.common.compression.CompressionCodecLZ4.java
License:Apache License
@Override public ByteBuf encode(ByteBuf source) { int uncompressedLength = source.readableBytes(); int maxLength = compressor.maxCompressedLength(uncompressedLength); ByteBuffer sourceNio = source.nioBuffer(source.readerIndex(), source.readableBytes()); ByteBuf target = PooledByteBufAllocator.DEFAULT.buffer(maxLength, maxLength); ByteBuffer targetNio = target.nioBuffer(0, maxLength); int compressedLength = compressor.compress(sourceNio, 0, uncompressedLength, targetNio, 0, maxLength); target.writerIndex(compressedLength); return target; }
From source file:com.yahoo.pulsar.common.compression.CompressionCodecLZ4.java
License:Apache License
@Override public ByteBuf decode(ByteBuf encoded, int uncompressedLength) throws IOException { ByteBuf uncompressed = PooledByteBufAllocator.DEFAULT.buffer(uncompressedLength, uncompressedLength); ByteBuffer uncompressedNio = uncompressed.nioBuffer(0, uncompressedLength); ByteBuffer encodedNio = encoded.nioBuffer(encoded.readerIndex(), encoded.readableBytes()); decompressor.decompress(encodedNio, encodedNio.position(), uncompressedNio, uncompressedNio.position(), uncompressedNio.remaining()); uncompressed.writerIndex(uncompressedLength); return uncompressed; }
From source file:com.yahoo.pulsar.common.compression.CompressionCodecZLib.java
License:Apache License
@Override public ByteBuf encode(ByteBuf source) { byte[] array; int length = source.readableBytes(); int sizeEstimate = (int) Math.ceil(source.readableBytes() * 1.001) + 14; ByteBuf compressed = PooledByteBufAllocator.DEFAULT.heapBuffer(sizeEstimate); int offset = 0; if (source.hasArray()) { array = source.array();// w w w . ja va2 s . co m offset = source.arrayOffset() + source.readerIndex(); } else { // If it's a direct buffer, we need to copy it array = new byte[length]; source.getBytes(source.readerIndex(), array); } synchronized (deflater) { deflater.setInput(array, offset, length); while (!deflater.needsInput()) { deflate(compressed); } deflater.reset(); } return compressed; }
From source file:com.yahoo.pulsar.common.compression.CompressionCodecZLib.java
License:Apache License
@Override public ByteBuf decode(ByteBuf encoded, int uncompressedLength) throws IOException { ByteBuf uncompressed = PooledByteBufAllocator.DEFAULT.heapBuffer(uncompressedLength, uncompressedLength); int len = encoded.readableBytes(); byte[] array; int offset;// w w w . j a v a2 s . c o m if (encoded.hasArray()) { array = encoded.array(); offset = encoded.arrayOffset() + encoded.readerIndex(); } else { array = new byte[len]; encoded.getBytes(encoded.readerIndex(), array); offset = 0; } int resultLength; synchronized (inflater) { inflater.setInput(array, offset, len); try { resultLength = inflater.inflate(uncompressed.array(), uncompressed.arrayOffset(), uncompressedLength); } catch (DataFormatException e) { throw new IOException(e); } inflater.reset(); } checkArgument(resultLength == uncompressedLength); uncompressed.writerIndex(uncompressedLength); return uncompressed; }
From source file:com.yahoo.pulsar.common.compression.CompressorCodecTest.java
License:Apache License
@Test(dataProvider = "codec") void testCompressDecompress(CompressionType type) throws IOException { CompressionCodec codec = CompressionCodecProvider.getCompressionCodec(type); byte[] data = text.getBytes(); ByteBuf raw = PooledByteBufAllocator.DEFAULT.buffer(); raw.writeBytes(data);//from www. j a v a2 s .c o m ByteBuf compressed = codec.encode(raw); assertEquals(raw.readableBytes(), data.length); int compressedSize = compressed.readableBytes(); ByteBuf uncompressed = codec.decode(compressed, data.length); assertEquals(compressed.readableBytes(), compressedSize); assertEquals(uncompressed.readableBytes(), data.length); assertEquals(uncompressed, raw); raw.release(); compressed.release(); uncompressed.release(); // Verify compression codecs have the same behavior with buffers ref counting assertEquals(raw.refCnt(), 0); assertEquals(compressed.refCnt(), 0); assertEquals(compressed.refCnt(), 0); }
From source file:com.yahoo.pulsar.common.compression.CompressorCodecTest.java
License:Apache License
@Test(dataProvider = "codec") void testMultpileUsages(CompressionType type) throws IOException { CompressionCodec codec = CompressionCodecProvider.getCompressionCodec(type); byte[] data = text.getBytes(); for (int i = 0; i < 5; i++) { ByteBuf raw = PooledByteBufAllocator.DEFAULT.buffer(); raw.writeBytes(data);//from ww w . java 2 s .c o m ByteBuf compressed = codec.encode(raw); assertEquals(raw.readableBytes(), data.length); int compressedSize = compressed.readableBytes(); ByteBuf uncompressed = codec.decode(compressed, data.length); assertEquals(compressed.readableBytes(), compressedSize); assertEquals(uncompressed.readableBytes(), data.length); assertEquals(uncompressed, raw); raw.release(); compressed.release(); uncompressed.release(); } }
From source file:com.yahoo.pulsar.discovery.service.DiscoveryService.java
License:Apache License
/** * starts server to handle discovery-request from client-channel * /*from w ww .j ava 2 s .com*/ * @throws Exception */ public void startServer() throws Exception { ServerBootstrap bootstrap = new ServerBootstrap(); bootstrap.childOption(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT); bootstrap.group(acceptorGroup, workerGroup); bootstrap.childOption(ChannelOption.TCP_NODELAY, true); bootstrap.childOption(ChannelOption.RCVBUF_ALLOCATOR, new AdaptiveRecvByteBufAllocator(1024, 16 * 1024, 1 * 1024 * 1024)); if (workerGroup instanceof EpollEventLoopGroup) { bootstrap.channel(EpollServerSocketChannel.class); bootstrap.childOption(EpollChannelOption.EPOLL_MODE, EpollMode.LEVEL_TRIGGERED); } else { bootstrap.channel(NioServerSocketChannel.class); } bootstrap.childHandler(new ServiceChannelInitializer(this, config, false)); // Bind and start to accept incoming connections. bootstrap.bind(config.getServicePort()).sync(); LOG.info("Started Pulsar Broker service on port {}", config.getWebServicePort()); if (config.isTlsEnabled()) { ServerBootstrap tlsBootstrap = bootstrap.clone(); tlsBootstrap.childHandler(new ServiceChannelInitializer(this, config, true)); tlsBootstrap.bind(config.getServicePortTls()).sync(); LOG.info("Started Pulsar Broker TLS service on port {}", config.getWebServicePortTls()); } }
From source file:com.yahoo.pulsar.websocket.stats.JvmMetrics.java
License:Apache License
@SuppressWarnings("restriction") public Metrics generate() { Map<String, String> dimensionMap = Maps.newHashMap(); dimensionMap.put("system", "jvm"); Metrics m = create(dimensionMap);/*from ww w .ja v a 2 s .co m*/ Runtime r = Runtime.getRuntime(); m.put("jvm_heap_used", r.totalMemory() - r.freeMemory()); m.put("jvm_max_memory", r.maxMemory()); m.put("jvm_total_memory", r.totalMemory()); m.put("jvm_max_direct_memory", sun.misc.VM.maxDirectMemory()); m.put("jvm_thread_cnt", getThreadCount()); m.put("jvm_gc_young_pause", currentYoungGcTime); m.put("jvm_gc_young_count", currentYoungGcCount); m.put("jvm_gc_old_pause", currentOldGcTime); m.put("jvm_gc_old_count", currentOldGcCount); long totalAllocated = 0; long totalUsed = 0; for (PoolArenaMetric arena : PooledByteBufAllocator.DEFAULT.directArenas()) { for (PoolChunkListMetric list : arena.chunkLists()) { for (PoolChunkMetric chunk : list) { int size = chunk.chunkSize(); int used = size - chunk.freeBytes(); totalAllocated += size; totalUsed += used; } } } m.put("proxy_default_pool_allocated", totalAllocated); m.put("proxy_default_pool_used", totalUsed); return m; }
From source file:com.ztesoft.zsmart.zmq.remoting.netty.NettyRemotingServer.java
License:Apache License
@Override public void start() { this.defaultEventExecutorGroup = new DefaultEventExecutorGroup(// nettyServerConfig.getServerWorkThreads(), // new ThreadFactory() { private AtomicInteger threadIndex = new AtomicInteger(0); @Override//from w w w.j ava 2s . co m public Thread newThread(Runnable r) { return new Thread(r, "NettyServerWorkerThread_" + this.threadIndex.incrementAndGet()); } }); ServerBootstrap childHandler = // this.serverBootstrap.group(this.eventLoopGroupBoss, this.eventLoopGroupWorker) .channel(NioServerSocketChannel.class) // .option(ChannelOption.SO_BACKLOG, 1024) // .option(ChannelOption.SO_REUSEADDR, true) // .option(ChannelOption.SO_KEEPALIVE, false) // .childOption(ChannelOption.TCP_NODELAY, true) // .option(ChannelOption.SO_SNDBUF, nettyServerConfig.getServerSocketSndBufSize()) // .option(ChannelOption.SO_RCVBUF, nettyServerConfig.getServerSocketRcvBufSize()) // .localAddress(new InetSocketAddress(this.nettyServerConfig.getListenPort())) .childHandler(new ChannelInitializer<SocketChannel>() { @Override public void initChannel(SocketChannel ch) throws Exception { ch.pipeline().addLast( // defaultEventExecutorGroup, // new NettyEncoder(), // new NettyDecoder(), // new IdleStateHandler(0, 0, nettyServerConfig.getServerChannelMaxIdleTimeSeconds()), // new NettyConnetManageHandler(), // new NettyServerHandler()); } }); if (nettyServerConfig.isServerPooledByteBufAllocatorEnable()) { // ???? childHandler.childOption(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT); } try { ChannelFuture sync = this.serverBootstrap.bind().sync(); InetSocketAddress addr = (InetSocketAddress) sync.channel().localAddress(); this.port = addr.getPort(); } catch (InterruptedException e1) { throw new RuntimeException("this.serverBootstrap.bind().sync() InterruptedException", e1); } if (this.channelEventListener != null) { this.nettyEventExecuter.start(); } // ?1?? this.timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { try { NettyRemotingServer.this.scanResponseTable(); } catch (Exception e) { log.error("scanResponseTable exception", e); } } }, 1000 * 3, 1000); }