public static Class<? extends Channel> defaultSocketChannelClass() { return RxNetty.isUsingNativeTransport() ? EpollSocketChannel.class : NioSocketChannel.class; }
HandlerNames(String name) { this.name = qualify(name); }
@Override public EventLoopGroup globalClientEventLoop(boolean nativeTransport) { if (nativeTransport && RxNetty.isUsingNativeTransport()) { return getNativeClientEventLoop(); } return globalClientEventLoop(); }
@Test(timeout = 60000) public void testEnableWireLogging() throws Exception { ClientState<String, String> newState = clientStateRule.clientState.enableWireLogging("", LogLevel.ERROR); clientStateRule.verifyMockPipelineAccessPostCopy(); assertThat("Client state not copied.", clientStateRule.clientState, is(not(newState))); assertThat("Options copied.", clientStateRule.clientState.unsafeChannelOptions(), is(newState.unsafeChannelOptions())); assertThat("Detached pipeline not copied.", clientStateRule.clientState.unsafeDetachedPipeline(), is(not(newState.unsafeDetachedPipeline()))); Mockito.verify(newState.unsafeDetachedPipeline()) .addFirst(HandlerNames.WireLogging.getName(), LoggingHandlerFactory.getFactory("", LogLevel.ERROR)); Mockito.verifyNoMoreInteractions(newState.unsafeDetachedPipeline()); Mockito.verifyNoMoreInteractions(clientStateRule.mockPipeline); }
public ClientState<W, R> enableWireLogging(String name, final LogLevel wireLoggingLevel) { return addChannelHandlerFirst(WireLogging.getName(), LoggingHandlerFactory.getFactory(name, wireLoggingLevel)); }
protected ServerState(SocketAddress socketAddress, EventLoopGroup parent, EventLoopGroup child, Class<? extends ServerChannel> channelClass) { this.socketAddress = socketAddress; bootstrap = new ServerBootstrap(); bootstrap.childOption(ChannelOption.AUTO_READ, false); // by default do not read content unless asked. bootstrap.group(parent, child); bootstrap.channel(channelClass); detachedPipeline = new DetachedChannelPipeline(); detachedPipeline.addLast(HandlerNames.WriteTransformer.getName(), new Func0<ChannelHandler>() { @Override public ChannelHandler call() { return new WriteTransformer(); } }); bootstrap.childHandler(detachedPipeline.getChannelInitializer()); }
private static DetachedChannelPipeline newChannelPipeline(TailHandlerFactory thf) { return new DetachedChannelPipeline(thf) .addLast(WriteTransformer.getName(), new Func0<ChannelHandler>() { @Override public ChannelHandler call() { return new WriteTransformer(); } }); }
@Override public EventLoopGroup globalServerParentEventLoop(boolean nativeTransport) { if (nativeTransport && RxNetty.isUsingNativeTransport()) { return getNativeParentEventLoop(); } return globalServerParentEventLoop(); }
@Override public EventLoopGroup globalServerEventLoop(boolean nativeTransport) { if (nativeTransport && RxNetty.isUsingNativeTransport()) { return getNativeEventLoop(); } return globalServerEventLoop(); }
public ServerState<R, W> enableWireLogging(final String name, final LogLevel wireLoggingLevel) { return addChannelHandlerFirst(HandlerNames.WireLogging.getName(), new Func0<ChannelHandler>() { @Override public ChannelHandler call() { return new LoggingHandler(name, wireLoggingLevel); } }); }
public static EventLoopGroup defaultEventloopGroup() { return RxNetty.getRxEventLoopProvider().globalClientEventLoop(true); }
@Override public final void call(final ChannelPipeline pipeline) { final SslHandler sslHandler = newSslHandler(pipeline); ChannelHandler wireLogging = pipeline.get(WireLogging.getName()); if (null != wireLogging) { /*So that, all activity on the channel is printed including SSL.*/ pipeline.addAfter(WireLogging.getName(), SslHandler.getName(), sslHandler); } else { pipeline.addFirst(SslHandler.getName(), sslHandler); } pipeline.addAfter(SslHandler.getName(), SslConnectionEmissionHandler.getName(), new SslConnEmissionHandler()); }
@Override protected void initChannel(Channel ch) throws Exception { ch.pipeline().addLast(ClientChannelActiveBufferingHandler.getName(), new ChannelActivityBufferingHandler(eventPublisher, eventListener)); } });
public static long newStartTime(TimeUnit timeUnit) { if (RxNetty.isEventPublishingDisabled() ) { return SYSTEM_TIME_DISABLED_TIME; } if (TimeUnit.NANOSECONDS == timeUnit) { return newStartTimeNanos(); } return timeUnit.convert(newStartTimeNanos(), TimeUnit.NANOSECONDS); }
public static long onEnd(long startTime, TimeUnit timeUnit) { if (RxNetty.isEventPublishingDisabled() ) { return SYSTEM_TIME_DISABLED_TIME; } if (TimeUnit.NANOSECONDS == timeUnit) { return onEndNanos(startTime); } long startTimeNanos = TimeUnit.NANOSECONDS.convert(startTime, timeUnit); return timeUnit.convert(onEndNanos(startTimeNanos), TimeUnit.NANOSECONDS); }
public static long onEndNanos(long startTimeNanos) { if (RxNetty.isEventPublishingDisabled() ) { return SYSTEM_TIME_DISABLED_TIME; } return System.nanoTime() - startTimeNanos; } }
@Override protected Class<? extends ServerChannel> defaultServerChannelClass() { if (RxNetty.isUsingNativeTransport()) { return EpollServerSocketChannel.class; } return NioServerSocketChannel.class; }
public static long newStartTimeNanos() { return RxNetty.isEventPublishingDisabled() ? SYSTEM_TIME_DISABLED_TIME : System.nanoTime(); }
@Override protected Class<? extends ServerChannel> defaultServerChannelClass() { if (RxNetty.isUsingNativeTransport()) { return EpollServerSocketChannel.class; } return NioServerSocketChannel.class; }
@Override public boolean publishingEnabled() { return !RxNetty.isEventPublishingDisabled() && !listeners.isEmpty(); }