List of usage examples for io.netty.channel ChannelOption ALLOCATOR
ChannelOption ALLOCATOR
To view the source code for io.netty.channel ChannelOption ALLOCATOR.
Click Source Link
From source file:io.lettuce.core.AbstractRedisClient.java
License:Apache License
/** * Populate connection builder with necessary resources. * * @param socketAddressSupplier address supplier for initial connect and re-connect * @param connectionBuilder connection builder to configure the connection * @param redisURI URI of the Redis instance *///w w w . j a v a2s . com protected void connectionBuilder(Mono<SocketAddress> socketAddressSupplier, ConnectionBuilder connectionBuilder, RedisURI redisURI) { Bootstrap redisBootstrap = new Bootstrap(); redisBootstrap.option(ChannelOption.WRITE_BUFFER_HIGH_WATER_MARK, 32 * 1024); redisBootstrap.option(ChannelOption.WRITE_BUFFER_LOW_WATER_MARK, 8 * 1024); redisBootstrap.option(ChannelOption.ALLOCATOR, BUF_ALLOCATOR); SocketOptions socketOptions = getOptions().getSocketOptions(); redisBootstrap.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, Math.toIntExact(socketOptions.getConnectTimeout().toMillis())); if (LettuceStrings.isEmpty(redisURI.getSocket())) { redisBootstrap.option(ChannelOption.SO_KEEPALIVE, socketOptions.isKeepAlive()); redisBootstrap.option(ChannelOption.TCP_NODELAY, socketOptions.isTcpNoDelay()); } connectionBuilder.timeout(redisURI.getTimeout()); connectionBuilder.password(redisURI.getPassword()); connectionBuilder.bootstrap(redisBootstrap); connectionBuilder.channelGroup(channels).connectionEvents(connectionEvents).timer(timer); connectionBuilder.socketAddressSupplier(socketAddressSupplier); }
From source file:io.maelstorm.server.ServerInit.java
License:Open Source License
public void start(String configFile, RequestHandler handler) throws Exception { LOG.info("Starting."); AppendableCharSequenceAddon.configure(); try {/*from ww w .jav a 2 s . c o m*/ System.in.close(); // Release a FD we don't need. } catch (Exception e) { LOG.warn("Failed to close stdin", e); } Properties prop = getProperties(configFile); requestDistributor = handler; requestDistributor.setInitializer(this); String os = System.getProperty("os.name").toLowerCase(Locale.UK).trim(); if (os.startsWith("linux")) { bossGroup = (null == bossGroup) ? new EpollEventLoopGroup(1) : bossGroup; workerGroup = (null == workerGroup) ? new EpollEventLoopGroup(NUM_WORKER_THREADS) : workerGroup; } else { bossGroup = (null == bossGroup) ? new NioEventLoopGroup(1) : bossGroup; workerGroup = (null == workerGroup) ? new NioEventLoopGroup(NUM_WORKER_THREADS) : workerGroup; } String[] servers = prop.getProperty("servers").split(","); for (String server : servers) { try { controller = new ServerBootstrap(); controller.group(bossGroup, workerGroup); if (os.startsWith("linux")) { controller.channel(EpollServerSocketChannel.class); controller.option(EpollChannelOption.TCP_CORK, true); } else { controller.channel(NioServerSocketChannel.class); } controller.childHandler(new PipelineFactory(handler, getPipelineConfig(prop, server))); controller.option(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT); controller.option(ChannelOption.RCVBUF_ALLOCATOR, AdaptiveRecvByteBufAllocator.DEFAULT); controller.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, getInt(prop, server, "connectTimeoutMillis")); controller.option(ChannelOption.WRITE_BUFFER_HIGH_WATER_MARK, 64 * 1024); controller.option(ChannelOption.WRITE_BUFFER_LOW_WATER_MARK, 1 * 1024); controller.option(ChannelOption.SO_KEEPALIVE, getBoolean(prop, server, "SOKeepalive")); controller.option(ChannelOption.SO_REUSEADDR, true); controller.option(ChannelOption.TCP_NODELAY, true); controller.option(ChannelOption.SO_LINGER, 0); controller.childOption(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT); controller.childOption(ChannelOption.WRITE_BUFFER_HIGH_WATER_MARK, 64 * 1024); controller.childOption(ChannelOption.WRITE_BUFFER_LOW_WATER_MARK, 10); controller.childOption(ChannelOption.SO_KEEPALIVE, true); controller.childOption(ChannelOption.SO_REUSEADDR, true); controller.childOption(ChannelOption.TCP_NODELAY, true); controller.childOption(ChannelOption.SO_LINGER, 0); controller.childOption(ChannelOption.SO_RCVBUF, 6291456); final InetSocketAddress addr = new InetSocketAddress(getInt(prop, server, "port")); ChannelFuture future = controller.bind(addr).sync(); if (future.isSuccess()) LOG.info("Server Ready to serve on " + addr); else throw new Exception("Address already in use"); } catch (Throwable t) { bossGroup.shutdownGracefully(); workerGroup.shutdownGracefully(); throw new RuntimeException("Initialization failed", t); } } }
From source file:io.mycat.netty.NettyServer.java
License:Apache License
private ServerBootstrap configServer() { bossGroup = new NioEventLoopGroup(args.bossThreads, new DefaultThreadFactory("NettyBossGroup", true)); workerGroup = new NioEventLoopGroup(args.workerThreads, new DefaultThreadFactory("NettyWorkerGroup", true)); userExecutor = createUserThreadExecutor(); final ProtocolHandler handshakeHandler = newHandshakeHandler(userExecutor); final ProtocolHandler protocolHandler = newProtocolHandler(userExecutor); ServerBootstrap b = new ServerBootstrap(); b.group(bossGroup, workerGroup).channel(NioServerSocketChannel.class) .childOption(ChannelOption.SO_REUSEADDR, true).childOption(ChannelOption.SO_KEEPALIVE, true) .childOption(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT) .childOption(ChannelOption.TCP_NODELAY, true); if (args.socketTimeoutMills > 0) { b.childOption(ChannelOption.SO_TIMEOUT, args.socketTimeoutMills); }// ww w. ja v a2 s.co m if (args.recvBuff > 0) { b.childOption(ChannelOption.SO_RCVBUF, args.recvBuff); } if (args.sendBuff > 0) { b.childOption(ChannelOption.SO_SNDBUF, args.sendBuff); } b.childHandler(new ChannelInitializer<SocketChannel>() { @Override public void initChannel(SocketChannel ch) throws Exception { ch.pipeline().addLast(createProtocolDecoder(), /* createProtocolEncoder(), */ handshakeHandler, protocolHandler); } }); return b; }
From source file:io.reactivex.netty.client.AbstractClientBuilder.java
License:Apache License
public B defaultChannelOptions() { return channelOption(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT); }
From source file:io.reactivex.netty.server.AbstractServerBuilder.java
License:Apache License
public B defaultChannelOptions() { channelOption(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT); return returnBuilder(); }
From source file:io.reactivex.netty.server.ConnectionBasedServerBuilder.java
License:Apache License
@Override public B defaultChannelOptions() { channelOption(ChannelOption.SO_KEEPALIVE, true); childChannelOption(ChannelOption.SO_KEEPALIVE, true); childChannelOption(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT); return super.defaultChannelOptions(); }
From source file:io.scalecube.socketio.SocketIOServer.java
License:Apache License
private ServerBootstrap createDefaultServerBootstrap() { return new ServerBootstrap().group(new NioEventLoopGroup(), new NioEventLoopGroup()) .channel(NioServerSocketChannel.class).childOption(ChannelOption.TCP_NODELAY, true) .childOption(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT); }//from ww w .j ava 2s . c om
From source file:io.urmia.api.Main.java
License:Open Source License
public static void main(String[] args) throws Exception { boolean autoRegister = ArgumentParseUtil.isAutoRegister(args); String zkURL = ArgumentParseUtil.getZooKeeperURL(args); log.info("starting with zk at: {}, auto register: {}", zkURL, autoRegister); ns = new ZkNamingServiceImpl(zkURL, AZ); Optional<ServiceInstance<NodeType>> meOpt = ns.whoAmI(NodeType.MDS, autoRegister); if (!meOpt.isPresent()) { System.err.println("unable to find my instance. use auto register or cli-admin to add my node"); System.exit(1);/* w ww.j av a 2 s .c o m*/ return; } Runtime.getRuntime().addShutdownHook(new ShutdownHook()); uuid = new RandomUuidImpl(); //Properties properties = parseArguments(args); EventLoopGroup bossGroup = new NioEventLoopGroup(/*1*/); EventLoopGroup workerGroup = new NioEventLoopGroup(); try { me = meOpt.get(); log.info("my service instance: {}", me); BoneCPConfig boneCPConfig = getBoneCPConfig(ns); ns.register(me); int port = me.getPort(); JdbcPool pool = new JdbcPool.BoneCPJdbcPool(boneCPConfig); MetadataRepository repository = new PsqlMetadataRepositoryImpl(pool); mds = new DefaultMetadataServiceImpl(repository); // http://normanmaurer.me/presentations/2014-facebook-eng-netty/slides.html#14.0 ServerBootstrap b = new ServerBootstrap(); b.group(bossGroup, workerGroup).channel(NioServerSocketChannel.class) .childOption(ChannelOption.AUTO_READ, false) .childOption(ChannelOption.ALLOCATOR, new PooledByteBufAllocator(true)) .childHandler(new HttpUploadServerInitializer()); Channel ch = b.bind(port).sync().channel(); log.info("object metadata API server (MDS) at port: {}", port); ch.closeFuture().sync(); } finally { ns.deregister(me); bossGroup.shutdownGracefully(); workerGroup.shutdownGracefully(); } }
From source file:io.urmia.job.Main.java
License:Open Source License
public static void main(String[] args) throws Exception { boolean autoRegister = ArgumentParseUtil.isAutoRegister(args); String zkURL = ArgumentParseUtil.getZooKeeperURL(args); log.info("starting with zk at: {}, auto register: {}", zkURL, autoRegister); ns = new ZkNamingServiceImpl(zkURL, AZ); Optional<ServiceInstance<NodeType>> meOpt = ns.whoAmI(NodeType.JDS, autoRegister); if (!meOpt.isPresent()) { System.err.println("unable to find my instance. use auto register or cli-admin to add my node"); System.exit(1);//ww w. ja va 2s.c o m return; } Runtime.getRuntime().addShutdownHook(new ShutdownHook()); EventLoopGroup bossGroup = new NioEventLoopGroup(/*1*/); try { me = meOpt.get(); log.info("my service instance: {}", me); BoneCPConfig boneCPConfig = getBoneCPConfig(ns); ns.register(me); int port = me.getPort(); CuratorFramework client = CuratorFrameworkFactory.newClient(zkURL, new ExponentialBackoffRetry(1000, 3)); client.start(); JdbcPool pool = new JdbcPool.BoneCPJdbcPool(boneCPConfig); MetadataRepository repository = new PsqlMetadataRepositoryImpl(pool); MetadataService mds = new DefaultMetadataServiceImpl(repository); ServerBootstrap b = new ServerBootstrap(); b.group(bossGroup).channel(NioServerSocketChannel.class).childOption(ChannelOption.AUTO_READ, true) .childOption(ChannelOption.ALLOCATOR, new PooledByteBufAllocator()) .childHandler(new JobApiServerInitializer(client, mds)); Channel ch = b.bind(port).sync().channel(); log.info("Job API Server (JDS) at port: {}", port); ch.closeFuture().sync(); } finally { ns.deregister(me); bossGroup.shutdownGracefully(); //workerGroup.shutdownGracefully(); } }
From source file:io.urmia.st.Main.java
License:Open Source License
public static void main(String[] args) throws Exception { final int port; final String base; boolean autoRegister = ArgumentParseUtil.isAutoRegister(args); String zkURL = ArgumentParseUtil.getZooKeeperURL(args); log.info("starting with zk at: {}, auto register: {}", zkURL, autoRegister); ns = new ZkNamingServiceImpl(zkURL, AZ); Optional<ServiceInstance<NodeType>> meOpt = ns.whoAmI(NodeType.ODS, autoRegister); if (!meOpt.isPresent()) { System.err.println("unable to find my instance. use auto register or cli-admin to add my node"); System.exit(1);/*from w w w . j av a 2 s. c o m*/ return; } Runtime.getRuntime().addShutdownHook(new ShutdownHook()); EventLoopGroup bossGroup = new NioEventLoopGroup(/*1*/); //EventLoopGroup bossGroup = new EpollEventLoopGroup(1); //EventLoopGroup workerGroup = new NioEventLoopGroup(); try { me = meOpt.get(); log.info("my service instance: {}", me); ns.register(me); base = me.getUriSpec().getParts().get(0).getValue(); port = me.getPort(); if (!(new File(base).isDirectory())) { System.err.println("base in not directory: " + base); return; } int nHeapArena = 1; int nDirectArena = 1; int pageSize = /*8192*/4096; int maxOrder = 1; // http://normanmaurer.me/presentations/2014-facebook-eng-netty/slides.html#14.0 ServerBootstrap b = new ServerBootstrap(); b.group(bossGroup).channel(NioServerSocketChannel.class).childOption(ChannelOption.AUTO_READ, false) .childOption(ChannelOption.ALLOCATOR, new PooledByteBufAllocator(true, nHeapArena, nDirectArena, pageSize, maxOrder)) .childHandler(new HttpUploadServerInitializer(base)); Channel ch = b.bind(port).sync().channel(); log.info("object storage Server (ODS) at port: {}", port); System.err.println("starting ODS " + me.getId() + " on port: " + port + ", base: " + base); ch.closeFuture().sync(); } finally { bossGroup.shutdownGracefully(); //workerGroup.shutdownGracefully(); } }