@Test
public void testSocketTimeout() throws Exception {
QuorumPeer peer = new QuorumPeer(peers, peerTmpdir[1], peerTmpdir[1], peerClientPort[1], 3, 1, 2000, 2, 2);
QuorumCnxManager cnxManager = peer.createCnxnManager();
QuorumCnxManager.Listener listener = cnxManager.listener;
if(listener != null){
listener.start();
} else {
LOG.error("Null listener when initializing cnx manager");
}
int port = peers.get(peer.getId()).electionAddr.getPort();
LOG.info("Election port: " + port);
InetSocketAddress addr = new InetSocketAddress(port);
Thread.sleep(1000);
Socket sock = new Socket();
sock.connect(peers.get(new Long(1)).electionAddr, 5000);
long begin = System.currentTimeMillis();
// Read without sending data. Verify timeout.
cnxManager.receiveConnection(sock);
long end = System.currentTimeMillis();
if((end - begin) > ((peer.getSyncLimit() * peer.getTickTime()) + 500)) Assert.fail("Waited more than necessary");
}
CnxManagerTest.java 文件源码
java
阅读 34
收藏 0
点赞 0
评论 0
项目:ZooKeeper
作者:
评论列表
文章目录