CnxManagerTest.java 文件源码

java
阅读 34 收藏 0 点赞 0 评论 0

项目:ZooKeeper 作者:
@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");
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号