io.netty.channel.epoll.Epoll.isAvailable()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(5.6k)|赞(0)|评价(0)|浏览(746)

本文整理了Java中io.netty.channel.epoll.Epoll.isAvailable()方法的一些代码示例,展示了Epoll.isAvailable()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Epoll.isAvailable()方法的具体详情如下:
包路径:io.netty.channel.epoll.Epoll
类名称:Epoll
方法名:isAvailable

Epoll.isAvailable介绍

[英]Returns true if and only if the netty-transport-native-epoll is available.
[中]当且仅当netty-transport-native-epoll可用时返回true。

代码示例

代码示例来源:origin: eclipse-vertx/vert.x

  1. @Override
  2. public boolean isAvailable() {
  3. return Epoll.isAvailable();
  4. }

代码示例来源:origin: apache/zookeeper

  1. /**
  2. * If {@link Epoll#isAvailable()} <code>== true</code>, returns
  3. * {@link EpollSocketChannel}, otherwise returns {@link NioSocketChannel}.
  4. * @return a socket channel class.
  5. */
  6. public static Class<? extends SocketChannel> nioOrEpollSocketChannel() {
  7. if (Epoll.isAvailable()) {
  8. return EpollSocketChannel.class;
  9. } else {
  10. return NioSocketChannel.class;
  11. }
  12. }

代码示例来源:origin: apache/zookeeper

  1. /**
  2. * If {@link Epoll#isAvailable()} <code>== true</code>, returns
  3. * {@link EpollServerSocketChannel}, otherwise returns
  4. * {@link NioServerSocketChannel}.
  5. * @return a server socket channel class.
  6. */
  7. public static Class<? extends ServerSocketChannel> nioOrEpollServerSocketChannel() {
  8. if (Epoll.isAvailable()) {
  9. return EpollServerSocketChannel.class;
  10. } else {
  11. return NioServerSocketChannel.class;
  12. }
  13. }
  14. }

代码示例来源:origin: line/armeria

  1. private static boolean isEpollAvailable() {
  2. // Netty epoll transport does not work with WSL (Windows Sybsystem for Linux) yet.
  3. // TODO(trustin): Re-enable on WSL if https://github.com/Microsoft/WSL/issues/1982 is resolved.
  4. return Epoll.isAvailable() && !HAS_WSLENV;
  5. }

代码示例来源:origin: fengjiachun/Jupiter

  1. /**
  2. * The native socket transport for Linux using JNI.
  3. */
  4. public static boolean isNativeEPollAvailable() {
  5. return Epoll.isAvailable();
  6. }

代码示例来源:origin: fengjiachun/Jupiter

  1. /**
  2. * The native socket transport for Linux using JNI.
  3. */
  4. public static boolean isNativeEPollAvailable() {
  5. return Epoll.isAvailable();
  6. }

代码示例来源:origin: alibaba/fescar

  1. /**
  2. * Enable epoll boolean.
  3. *
  4. * @return the boolean
  5. */
  6. public static boolean enableEpoll() {
  7. return NettyBaseConfig.SERVER_CHANNEL_CLAZZ.equals(EpollServerSocketChannel.class)
  8. && Epoll.isAvailable();
  9. }

代码示例来源:origin: apache/pulsar

  1. public static void enableTriggeredMode(ServerBootstrap bootstrap) {
  2. if (Epoll.isAvailable()) {
  3. bootstrap.childOption(EpollChannelOption.EPOLL_MODE, EpollMode.LEVEL_TRIGGERED);
  4. }
  5. }
  6. }

代码示例来源:origin: Alluxio/alluxio

  1. private static boolean checkNettyEpollAvailable() {
  2. if (!Epoll.isAvailable()) {
  3. LOG.info("EPOLL is not available, will use NIO");
  4. return false;
  5. }
  6. try {
  7. EpollChannelOption.class.getField("EPOLL_MODE");
  8. LOG.info("EPOLL_MODE is available");
  9. return true;
  10. } catch (Throwable e) {
  11. LOG.warn("EPOLL_MODE is not supported in netty with version < 4.0.26.Final, will use NIO");
  12. return false;
  13. }
  14. }

代码示例来源:origin: apache/incubator-shardingsphere

  1. private EventLoopGroup createEventLoopGroup() {
  2. return Epoll.isAvailable() ? new EpollEventLoopGroup(1) : new NioEventLoopGroup(1);
  3. }

代码示例来源:origin: apache/incubator-shardingsphere

  1. private EventLoopGroup createEventLoopGroup() {
  2. return Epoll.isAvailable() ? new EpollEventLoopGroup(1) : new NioEventLoopGroup(1);
  3. }

代码示例来源:origin: apache/zookeeper

  1. /**
  2. * If {@link Epoll#isAvailable()} <code>== true</code>, returns a new
  3. * {@link EpollEventLoopGroup}, otherwise returns a new
  4. * {@link NioEventLoopGroup}.
  5. * @return a new {@link EventLoopGroup}.
  6. */
  7. public static EventLoopGroup newNioOrEpollEventLoopGroup() {
  8. if (Epoll.isAvailable()) {
  9. return new EpollEventLoopGroup();
  10. } else {
  11. return new NioEventLoopGroup();
  12. }
  13. }

代码示例来源:origin: Graylog2/graylog2-server

  1. private NettyTransportType detectPlatform() {
  2. if (Epoll.isAvailable()) {
  3. LOG.debug("Using epoll for Netty transport.");
  4. return NettyTransportType.EPOLL;
  5. } else if (KQueue.isAvailable()) {
  6. LOG.debug("Using kqueue for Netty transport.");
  7. return NettyTransportType.KQUEUE;
  8. } else {
  9. LOG.debug("Using NIO for Netty transport.");
  10. return NettyTransportType.NIO;
  11. }
  12. }

代码示例来源:origin: apache/pulsar

  1. /**
  2. * @return an EventLoopGroup suitable for the current platform
  3. */
  4. public static EventLoopGroup newEventLoopGroup(int nThreads, ThreadFactory threadFactory) {
  5. if (Epoll.isAvailable()) {
  6. return new EpollEventLoopGroup(nThreads, threadFactory);
  7. } else {
  8. // Fallback to NIO
  9. return new NioEventLoopGroup(nThreads, threadFactory);
  10. }
  11. }

代码示例来源:origin: apache/rocketmq

  1. private boolean useEpoll() {
  2. return RemotingUtil.isLinuxPlatform()
  3. && nettyServerConfig.isUseEpollNativeSelector()
  4. && Epoll.isAvailable();
  5. }

代码示例来源:origin: blynkkk/blynk-server

  1. private TransportTypeHolder(int workerThreads) {
  2. if (Epoll.isAvailable()) {
  3. log.info("Using native epoll transport.");
  4. bossGroup = new EpollEventLoopGroup(1);
  5. workerGroup = new EpollEventLoopGroup(workerThreads);
  6. channelClass = EpollServerSocketChannel.class;
  7. } else {
  8. bossGroup = new NioEventLoopGroup(1);
  9. workerGroup = new NioEventLoopGroup(workerThreads);
  10. channelClass = NioServerSocketChannel.class;
  11. }
  12. }

代码示例来源:origin: jooby-project/jooby

  1. private EventLoopGroup eventLoop(final int threads, final String name) {
  2. log.debug("netty.threads.{}({})", name, threads);
  3. if (Epoll.isAvailable()) {
  4. return new EpollEventLoopGroup(threads, new DefaultThreadFactory("epoll-" + name, false));
  5. }
  6. return new NioEventLoopGroup(threads, new DefaultThreadFactory("nio-" + name, false));
  7. }

代码示例来源:origin: neo4j/neo4j

  1. @Override
  2. public void start() throws Throwable
  3. boolean useEpoll = USE_EPOLL && Epoll.isAvailable();
  4. ServerConfigurationProvider configurationProvider = useEpoll ? EpollConfigurationProvider.INSTANCE :
  5. NioConfigurationProvider.INSTANCE;

代码示例来源:origin: blynkkk/blynk-server

  1. .setUserAgent(null)
  2. .setKeepAlive(true)
  3. .setUseNativeTransport(Epoll.isAvailable())
  4. .setUseOpenSsl(SslContextHolder.isOpenSslAvailable())
  5. .build()

代码示例来源:origin: blynkkk/blynk-server

  1. .setUserAgent(null)
  2. .setKeepAlive(true)
  3. .setUseNativeTransport(Epoll.isAvailable())
  4. .setUseOpenSsl(SslContextHolder.isOpenSslAvailable())
  5. .build()

相关文章