});
FuturePeerConnection peerConnection = sender.createPeerConnection(recv1.peerAddress());
ccohTCP.reset();
ccohUDP.reset();
FutureDirect fd1 = sender.sendDirect(peerConnection).object("test")
.connectionTimeoutTCPMillis(2000).idleTCPSeconds(10 * 1000).start();
fd1.awaitListenersUninterruptibly();
Assert.assertEquals(true, fd1.isSuccess());
Assert.assertEquals(1, ccohTCP.total());
Assert.assertEquals(0, ccohUDP.total());
Thread.sleep(2000);
System.err.println("send second with the same connection");
FutureDirect fd2 = sender.sendDirect(peerConnection).object("test").start();
fd2.awaitUninterruptibly();
Assert.assertEquals(1, ccohTCP.total());
Assert.assertEquals(0, ccohUDP.total());
Assert.assertEquals(true, fd2.isSuccess());
peerConnection.close().await();
System.err.println("done");
} finally {
if (sender != null) {
sender.shutdown().await();