Java 类io.netty.channel.kqueue.KQueue 实例源码
项目:qpid-jms
文件:NettyTcpTransportTest.java
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);
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());
}