package io.craft.atom.nio; import io.craft.atom.io.Channel; import io.craft.atom.io.IoAcceptor; import io.craft.atom.io.IoConnector; import io.craft.atom.nio.api.NioFactory; import io.craft.atom.test.AvailablePortFinder; import io.craft.atom.test.CaseCounter; import java.io.IOException; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import org.junit.Assert; import org.junit.Test; /** * @author mindwind * @version 1.0, Mar 9, 2014 */ public class TestNioBuilder { @Test public void testNioAcceptorBuilder() throws IOException { IoAcceptor acceptor = NioFactory.newTcpAcceptorBuilder(new NioAcceptorHandler()).reuseAddress(true).backlog(100).totalEventSize(50000).ioTimeoutInMillis(30000).build(); int port = AvailablePortFinder.getNextAvailable(22222); acceptor.bind(port); try { acceptor.bind(port); Assert.fail(); } catch(IOException e) { } System.out.println(String.format("[CRAFT-ATOM-NIO] (^_^) <%s> Case -> test nio tcp acceptor builder. ", CaseCounter.incr(1))); } @Test public void testNioConnectorBuilder() throws IOException { IoConnector connector = NioFactory.newTcpConnectorBuilder(new NioConnectorHandler()).connectTimeoutInMillis(1000).ioTimeoutInMillis(60000).executorSize(32).build(); Future<Channel<byte[]>> future = connector.connect("127.0.0.1", AvailablePortFinder.getNextAvailable()); try { future.get(1, TimeUnit.SECONDS); } catch (InterruptedException e) { } catch (ExecutionException e) { } catch (TimeoutException e) { Assert.assertTrue(true); } System.out.println(String.format("[CRAFT-ATOM-NIO] (^_^) <%s> Case -> test nio tcp connector builder. ", CaseCounter.incr(1))); } }