@Override public EventLoopGroup onServer(boolean useNative) { if (useNative && preferNative()) { return cacheNativeServerLoops(); } return cacheNioServerLoops(); }
@Override public EventLoopGroup onClient(boolean useNative) { if (useNative && preferNative()) { return cacheNativeClientLoops(); } return cacheNioClientLoops(); }
@Override public EventLoopGroup onServerSelect(boolean useNative) { if (useNative && preferNative()) { return cacheNativeSelectLoops(); } return cacheNioSelectLoops(); }
@Override public EventLoopGroup onServerSelect(boolean useNative) { if (useNative && preferNative()) { return cacheNativeSelectLoops(); } return cacheNioSelectLoops(); }
@Override public EventLoopGroup onClient(boolean useNative) { if (useNative && preferNative()) { return cacheNativeClientLoops(); } return cacheNioClientLoops(); }
@Override public EventLoopGroup onServer(boolean useNative) { if (useNative && preferNative()) { return cacheNativeServerLoops(); } return cacheNioServerLoops(); }
@Test public void disposeLaterSubsequentIsQuick() { DefaultLoopResources loopResources = new DefaultLoopResources( "test", 0, false); loopResources.onServer(true); assertThat(loopResources.isDisposed()).isFalse(); Duration firstInvocation = StepVerifier.create(loopResources.disposeLater()) .verifyComplete(); assertThat(loopResources.isDisposed()).isTrue(); if (!loopResources.preferNative()) { assertThat(loopResources.serverLoops.get().isTerminated()).isTrue(); } else { assertThat(loopResources.cacheNativeServerLoops.get().isTerminated()).isTrue(); } Duration secondInvocation = StepVerifier.create(loopResources.disposeLater()) .verifyComplete(); assertThat(secondInvocation).isLessThan(firstInvocation); }