io.netty.channel.kqueue.KQueue Java Examples
The following examples show how to use
io.netty.channel.kqueue.KQueue.
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: NettyDomainSocketClient.java From selenium with Apache License 2.0 | 6 votes |
public NettyDomainSocketClient(ClientConfig config) { super(config); URI uri = config.baseUri(); Require.argument("URI scheme", uri.getScheme()).equalTo("unix"); if (Epoll.isAvailable()) { this.eventLoopGroup = new EpollEventLoopGroup(); this.channelClazz = EpollDomainSocketChannel.class; } else if (KQueue.isAvailable()) { this.eventLoopGroup = new KQueueEventLoopGroup(); this.channelClazz = KQueueDomainSocketChannel.class; } else { throw new IllegalStateException("No native library for unix domain sockets is available"); } this.path = uri.getPath(); }
Example #2
Source File: HttpCacheClientTest.java From bazel with Apache License 2.0 | 6 votes |
@Parameters public static Collection createInputValues() { ArrayList<Object[]> parameters = new ArrayList<Object[]>(Arrays.asList(new Object[][] {{new InetTestServer()}})); if (Epoll.isAvailable()) { parameters.add( new Object[] { new UnixDomainServer(EpollServerDomainSocketChannel.class, EpollEventLoopGroup::new) }); } if (KQueue.isAvailable()) { parameters.add( new Object[] { new UnixDomainServer(KQueueServerDomainSocketChannel.class, KQueueEventLoopGroup::new) }); } return parameters; }
Example #3
Source File: GoogleAuthUtils.java From bazel with Apache License 2.0 | 6 votes |
private static NettyChannelBuilder newNettyChannelBuilder(String targetUrl, String proxy) throws IOException { if (Strings.isNullOrEmpty(proxy)) { return NettyChannelBuilder.forTarget(targetUrl).defaultLoadBalancingPolicy("round_robin"); } if (!proxy.startsWith("unix:")) { throw new IOException("Remote proxy unsupported: " + proxy); } DomainSocketAddress address = new DomainSocketAddress(proxy.replaceFirst("^unix:", "")); NettyChannelBuilder builder = NettyChannelBuilder.forAddress(address).overrideAuthority(targetUrl); if (KQueue.isAvailable()) { return builder .channelType(KQueueDomainSocketChannel.class) .eventLoopGroup(new KQueueEventLoopGroup()); } if (Epoll.isAvailable()) { return builder .channelType(EpollDomainSocketChannel.class) .eventLoopGroup(new EpollEventLoopGroup()); } throw new IOException("Unix domain sockets are unsupported on this platform"); }
Example #4
Source File: KMSEncryptionProvider.java From credhub with Apache License 2.0 | 6 votes |
private void setChannelInfo() { if (Epoll.isAvailable()) { this.group = new EpollEventLoopGroup(); this.channelType = EpollDomainSocketChannel.class; LOGGER.info("Using epoll for Netty transport."); } else { if (!KQueue.isAvailable()) { throw new RuntimeException("Unsupported OS '" + System.getProperty("os.name") + "', only Unix and Mac are supported"); } this.group = new KQueueEventLoopGroup(); this.channelType = KQueueDomainSocketChannel.class; LOGGER.info("Using KQueue for Netty transport."); } }
Example #5
Source File: Connector.java From multi-model-server with Apache License 2.0 | 5 votes |
public Class<? extends Channel> getClientChannel() { if (useNativeIo && Epoll.isAvailable()) { return uds ? EpollDomainSocketChannel.class : EpollSocketChannel.class; } else if (useNativeIo && KQueue.isAvailable()) { return uds ? KQueueDomainSocketChannel.class : KQueueSocketChannel.class; } return NioSocketChannel.class; }
Example #6
Source File: HelloWebServer.java From FrameworkBenchmarks with BSD 3-Clause "New" or "Revised" License | 5 votes |
public void run() throws Exception { // Configure the server. if (Epoll.isAvailable()) { doRun(new EpollEventLoopGroup(), EpollServerSocketChannel.class, IoMultiplexer.EPOLL); } else if (KQueue.isAvailable()) { doRun(new EpollEventLoopGroup(), KQueueServerSocketChannel.class, IoMultiplexer.KQUEUE); } else { doRun(new NioEventLoopGroup(), NioServerSocketChannel.class, IoMultiplexer.JDK); } }
Example #7
Source File: HttpCacheClient.java From bazel with Apache License 2.0 | 5 votes |
public static HttpCacheClient create( DomainSocketAddress domainSocketAddress, URI uri, int timeoutSeconds, int remoteMaxConnections, boolean verifyDownloads, ImmutableList<Entry<String, String>> extraHttpHeaders, DigestUtil digestUtil, @Nullable final Credentials creds) throws Exception { if (KQueue.isAvailable()) { return new HttpCacheClient( KQueueEventLoopGroup::new, KQueueDomainSocketChannel.class, uri, timeoutSeconds, remoteMaxConnections, verifyDownloads, extraHttpHeaders, digestUtil, creds, domainSocketAddress); } else if (Epoll.isAvailable()) { return new HttpCacheClient( EpollEventLoopGroup::new, EpollDomainSocketChannel.class, uri, timeoutSeconds, remoteMaxConnections, verifyDownloads, extraHttpHeaders, digestUtil, creds, domainSocketAddress); } else { throw new Exception("Unix domain sockets are unsupported on this platform"); } }
Example #8
Source File: NettyTcpTransportTest.java From qpid-jms with Apache License 2.0 | 5 votes |
private void doTestKQueueSupport(boolean useKQueue) throws Exception { assumeTrue(KQueue.isAvailable()); try (NettyEchoServer server = createEchoServer(createServerOptions())) { server.start(); int port = server.getServerPort(); URI serverLocation = new URI("tcp://localhost:" + port); TransportOptions options = createClientOptions(); options.setUseKQueue(useKQueue); options.setUseEpoll(false); Transport transport = createTransport(serverLocation, testListener, options); try { transport.connect(null, null); LOG.info("Connected to server:{} as expected.", serverLocation); } catch (Exception e) { fail("Should have connected to the server at " + serverLocation + " but got exception: " + e); } assertTrue(transport.isConnected()); assertEquals(serverLocation, transport.getRemoteLocation()); assertKQueue("Transport should be using Kqueue", useKQueue, transport); transport.close(); // Additional close should not fail or cause other problems. transport.close(); } assertTrue(!transportClosed); // Normal shutdown does not trigger the event. assertTrue(exceptions.isEmpty()); assertTrue(data.isEmpty()); }
Example #9
Source File: KQueueSupport.java From qpid-jms with Apache License 2.0 | 5 votes |
public static boolean isAvailable(TransportOptions transportOptions) { try { return transportOptions.isUseKQueue() && KQueue.isAvailable(); } catch (NoClassDefFoundError ncdfe) { LOG.debug("Unable to check for KQueue support due to missing class definition", ncdfe); return false; } }
Example #10
Source File: CheckDependencies.java From activemq-artemis with Apache License 2.0 | 5 votes |
public static final boolean isKQueueAvailable() { try { return Env.isMacOs() && KQueue.isAvailable(); } catch (NoClassDefFoundError noClassDefFoundError) { ActiveMQClientLogger.LOGGER.unableToCheckKQueueAvailabilityNoClass(); return false; } catch (Throwable e) { ActiveMQClientLogger.LOGGER.unableToCheckKQueueAvailability(e); return false; } }
Example #11
Source File: Client.java From java-dcp-client with Apache License 2.0 | 5 votes |
private static EventLoopGroup newEventLoopGroup() { if (Epoll.isAvailable()) { LOGGER.info("Using Netty epoll native transport."); return new EpollEventLoopGroup(threadFactory); } if (KQueue.isAvailable()) { LOGGER.info("Using Netty kqueue native transport."); return new KQueueEventLoopGroup(threadFactory); } LOGGER.info("Using Netty NIO transport."); return new NioEventLoopGroup(threadFactory); }
Example #12
Source File: HttpBlobStore.java From bazel-buildfarm with Apache License 2.0 | 5 votes |
public static HttpBlobStore create( DomainSocketAddress domainSocketAddress, URI uri, int timeoutMillis, int remoteMaxConnections, @Nullable final Credentials creds) throws ConfigurationException, URISyntaxException, SSLException { if (KQueue.isAvailable()) { return new HttpBlobStore( KQueueEventLoopGroup::new, KQueueDomainSocketChannel.class, uri, timeoutMillis, remoteMaxConnections, creds, domainSocketAddress); } else if (Epoll.isAvailable()) { return new HttpBlobStore( EpollEventLoopGroup::new, EpollDomainSocketChannel.class, uri, timeoutMillis, remoteMaxConnections, creds, domainSocketAddress); } else { throw new ConfigurationException("Unix domain sockets are unsupported on this platform"); } }
Example #13
Source File: Connector.java From multi-model-server with Apache License 2.0 | 5 votes |
public Class<? extends ServerChannel> getServerChannel() { if (useNativeIo && Epoll.isAvailable()) { return uds ? EpollServerDomainSocketChannel.class : EpollServerSocketChannel.class; } else if (useNativeIo && KQueue.isAvailable()) { return uds ? KQueueServerDomainSocketChannel.class : KQueueServerSocketChannel.class; } return NioServerSocketChannel.class; }
Example #14
Source File: Connector.java From multi-model-server with Apache License 2.0 | 5 votes |
public static EventLoopGroup newEventLoopGroup(int threads) { if (useNativeIo && Epoll.isAvailable()) { return new EpollEventLoopGroup(threads); } else if (useNativeIo && KQueue.isAvailable()) { return new KQueueEventLoopGroup(threads); } NioEventLoopGroup eventLoopGroup = new NioEventLoopGroup(threads); eventLoopGroup.setIoRatio(ConfigManager.getInstance().getIoRatio()); return eventLoopGroup; }
Example #15
Source File: RequestResponseCloseHandlerTest.java From servicetalk with Apache License 2.0 | 5 votes |
private void expectToFailIfNotOnLinux(Runnable call) { // TODO(scott) Windows doesn't propagate the exception. Some times an unhandled exception in pipeline. if (cChannel instanceof EpollSocketChannel || (!KQueue.isAvailable() && !Epoll.isAvailable())) { call.run(); } else { try { call.run(); fail("Should fail"); } catch (ChannelException e) { // Expected } } }
Example #16
Source File: Connector.java From serve with Apache License 2.0 | 5 votes |
public Class<? extends Channel> getClientChannel() { if (useNativeIo && Epoll.isAvailable()) { return uds ? EpollDomainSocketChannel.class : EpollSocketChannel.class; } else if (useNativeIo && KQueue.isAvailable()) { return uds ? KQueueDomainSocketChannel.class : KQueueSocketChannel.class; } return NioSocketChannel.class; }
Example #17
Source File: Connector.java From serve with Apache License 2.0 | 5 votes |
public Class<? extends ServerChannel> getServerChannel() { if (useNativeIo && Epoll.isAvailable()) { return uds ? EpollServerDomainSocketChannel.class : EpollServerSocketChannel.class; } else if (useNativeIo && KQueue.isAvailable()) { return uds ? KQueueServerDomainSocketChannel.class : KQueueServerSocketChannel.class; } return NioServerSocketChannel.class; }
Example #18
Source File: Connector.java From serve with Apache License 2.0 | 5 votes |
public static EventLoopGroup newEventLoopGroup(int threads) { if (useNativeIo && Epoll.isAvailable()) { return new EpollEventLoopGroup(threads); } else if (useNativeIo && KQueue.isAvailable()) { return new KQueueEventLoopGroup(threads); } NioEventLoopGroup eventLoopGroup = new NioEventLoopGroup(threads); eventLoopGroup.setIoRatio(ConfigManager.getInstance().getIoRatio()); return eventLoopGroup; }
Example #19
Source File: Connector.java From serve with Apache License 2.0 | 4 votes |
public Connector(int port) { this(port, useNativeIo && (Epoll.isAvailable() || KQueue.isAvailable())); }
Example #20
Source File: Connector.java From multi-model-server with Apache License 2.0 | 4 votes |
public Connector(int port) { this(port, useNativeIo && (Epoll.isAvailable() || KQueue.isAvailable())); }
Example #21
Source File: NetworkUtils.java From CloudNet with Apache License 2.0 | 4 votes |
public static EventLoopGroup eventLoopGroup(int threads, ThreadFactory threadFactory) { return EPOLL ? new EpollEventLoopGroup(threads, threadFactory) : KQueue.isAvailable() ? new KQueueEventLoopGroup(threads, threadFactory) : new NioEventLoopGroup( threads, threadFactory); }
Example #22
Source File: NativeSupport.java From Jupiter with Apache License 2.0 | 4 votes |
/** * The native socket transport for BSD systems such as MacOS using JNI. */ public static boolean isNativeKQueueAvailable() { return KQueue.isAvailable(); }
Example #23
Source File: NetworkUtils.java From CloudNet with Apache License 2.0 | 4 votes |
public static EventLoopGroup eventLoopGroup(int threads) { return EPOLL ? new EpollEventLoopGroup(threads) : KQueue.isAvailable() ? new KQueueEventLoopGroup(threads) : new NioEventLoopGroup( threads); }
Example #24
Source File: NetworkUtils.java From CloudNet with Apache License 2.0 | 4 votes |
public static Class<? extends ServerSocketChannel> serverSocketChannel() { return EPOLL ? EpollServerSocketChannel.class : KQueue.isAvailable() ? KQueueServerSocketChannel.class : NioServerSocketChannel.class; }
Example #25
Source File: NetworkUtils.java From CloudNet with Apache License 2.0 | 4 votes |
public static Class<? extends SocketChannel> socketChannel() { return EPOLL ? EpollSocketChannel.class : KQueue.isAvailable() ? KQueueSocketChannel.class : NioSocketChannel.class; }
Example #26
Source File: NettyClientTest.java From selenium with Apache License 2.0 | 4 votes |
@Before public void setupUnixDomainSocketServer() throws IOException, URISyntaxException { Class<? extends ServerDomainSocketChannel> channelType = null; if (Epoll.isAvailable()) { group = new EpollEventLoopGroup(2); channelType = EpollServerDomainSocketChannel.class; } else if (KQueue.isAvailable()) { group = new KQueueEventLoopGroup(2); channelType = KQueueServerDomainSocketChannel.class; } assumeThat(group).isNotNull(); assumeThat(channelType).isNotNull(); ServerBootstrap bootstrap = new ServerBootstrap() .group(group) .option(ChannelOption.SO_BACKLOG, 1024) .childOption(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT) .channel(channelType) .childHandler(new ChannelInitializer<DomainSocketChannel>() { @Override protected void initChannel(DomainSocketChannel ch) { ch.pipeline() .addLast("http-codec", new HttpServerCodec()) .addLast("http-keep-alive", new HttpServerKeepAliveHandler()) .addLast("http-aggregator", new HttpObjectAggregator(Integer.MAX_VALUE)) .addLast(new SimpleChannelInboundHandler<FullHttpRequest>() { @Override protected void channelRead0(ChannelHandlerContext ctx, FullHttpRequest req) { byte[] bytes = responseText.get().getBytes(UTF_8); ByteBuf text = Unpooled.wrappedBuffer(bytes); FullHttpResponse res = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK, text); res.headers().set(CONTENT_TYPE, MediaType.PLAIN_TEXT_UTF_8.toString()); res.headers().set(CONTENT_LENGTH, bytes.length); ctx.writeAndFlush(res); } }); } }); Path temp = Files.createTempFile("domain-socket-test", "socket"); Files.deleteIfExists(temp); SocketAddress address = new DomainSocketAddress(temp.toFile()); future = bootstrap.bind(address); socket = new URI("unix", null, null, 0, temp.toString(), null, null); }
Example #27
Source File: NettyIoExecutors.java From servicetalk with Apache License 2.0 | 3 votes |
/** * Create a new {@link EventLoopGroup}. * * @param ioThreads number of threads * @param threadFactory the {@link ThreadFactory} to use. * @return The created {@link IoExecutor} */ public static EventLoopGroup createEventLoopGroup(int ioThreads, ThreadFactory threadFactory) { validateIoThreads(ioThreads); return Epoll.isAvailable() ? new EpollEventLoopGroup(ioThreads, threadFactory) : KQueue.isAvailable() ? new KQueueEventLoopGroup(ioThreads, threadFactory) : new NioEventLoopGroup(ioThreads, threadFactory); }