@Override public EventLoopGroup eventLoopGroup(int nThreads, ThreadFactory threadFactory) { return impl.eventLoopGroup(nThreads, threadFactory); }
public ByteBuf getContent() throws IOException { return IoUtils.read(byteBufAllocator, path); }
public JacksonConfigSource(Path path) { this(Paths2.asByteSource(path)); }
@Override public Long asLong(K key) { if (!containsKey(key)) { return null; } return Long.valueOf(get(key)); }
private static Transport determineTransport() { Transport transport = new NativeTransport("io.netty.channel.epoll", "Epoll"); if (transport.isAvailable()) { LOGGER.debug("Using epoll transport"); return transport; } transport = new NativeTransport("io.netty.channel.kqueue", "KQueue"); if (transport.isAvailable()) { LOGGER.debug("Using kqueue transport"); return transport; } LOGGER.debug("Using nio transport"); return new NioTransport(); }
private static boolean isAvailable(String packageName, String classPrefix) { try { Class<?> clazz = loadClass(Object.class, packageName, classPrefix, null); return invokeIsAvailable(clazz); } catch (ClassNotFoundException e) { LOGGER.debug("{} was not found", packageName); return false; } catch (Exception e) { LOGGER.debug("{} failed to load", packageName, e); return false; } }
private static NativeTransportImpl loadImpl(String packageName, String classPrefix) { try { Class<? extends ServerSocketChannel> serverSocketChannelClass = loadClass(ServerSocketChannel.class, packageName, classPrefix, ServerSocketChannel.class.getSimpleName()); Class<? extends SocketChannel> socketChannelClass = loadClass(SocketChannel.class, packageName, classPrefix, SocketChannel.class.getSimpleName()); Class<? extends EventLoopGroup> eventLoopGroupClass = loadClass(EventLoopGroup.class, packageName, classPrefix, EventLoopGroup.class.getSimpleName()); Constructor<? extends EventLoopGroup> constructor = eventLoopGroupClass.getConstructor(int.class, ThreadFactory.class); return new NativeTransportImpl(serverSocketChannelClass, socketChannelClass, constructor); } catch (ReflectiveOperationException e) { LOGGER.debug("Failed to load {}", classPrefix, e); return null; } }
NativeTransport(String packageName, String classPrefix) { String property = "ratpack." + classPrefix.toLowerCase() + ".disable"; boolean disabled = Boolean.getBoolean(property); if (disabled || !isAvailable(packageName, classPrefix)) { this.impl = null; } else { this.impl = loadImpl(packageName, classPrefix); } }
public static Class<? extends SocketChannel> getSocketChannelImpl() { return TRANSPORT.getSocketChannelImpl(); }
static <K, V> MultiValueMap<K, V> empty() { return ImmutableDelegatingMultiValueMap.empty(); }
public static ByteSource asByteSource(Path path) { return new PathByteSource(path); }
public static Class<? extends ServerSocketChannel> getServerSocketChannelImpl() { return TRANSPORT.getServerSocketChannelImpl(); }
public static EventLoopGroup eventLoopGroup(int nThreads, ThreadFactory threadFactory) { return TRANSPORT.eventLoopGroup(nThreads, threadFactory); }
public static String readText(Path path, Charset charset) throws IOException { return asCharSource(path, charset).read(); }
@Override public Boolean asBool(K key) { if (!containsKey(key)) { return null; } return Boolean.valueOf(get(key)); }
public static CharSource asCharSource(Path path, Charset charset) { return asByteSource(path).asCharSource(charset); }
@Override public Short asShort(K key) { if (!containsKey(key)) { return null; } return Short.valueOf(get(key)); }
@Override public Integer asInt(K key) { if (!containsKey(key)) { return null; } return Integer.valueOf(get(key)); }
@Override public Byte asByte(K key) { if (!containsKey(key)) { return null; } return Byte.valueOf(get(key)); }