⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wanping.java

📁 JGRoups源码
💻 JAVA
字号:
// $Id: WANPING.java,v 1.11 2006/04/23 12:52:54 belaban Exp $package org.jgroups.protocols;import org.jgroups.Event;import org.jgroups.Message;import org.jgroups.util.List;import java.util.Enumeration;import java.util.Properties;import java.util.StringTokenizer;/** * Similar to TCPPING, except that the initial host list is specified as a list of logical pipe names. */public class WANPING extends Discovery {    int port_range=5;        // number of ports to be probed for initial membership    List initial_hosts=null;  // hosts to be contacted for the initial membership    public String getName() {        return "WANPING";    }    public boolean setProperties(Properties props) {        String str;        str=props.getProperty("port_range");           // if member cannot be contacted on base port,        if(str != null) {                              // how many times can we increment the port            port_range=Integer.parseInt(str);            props.remove("port_range");        }        str=props.getProperty("initial_hosts");        if(str != null) {            props.remove("initial_hosts");            initial_hosts=createInitialHosts(str);            if(log.isInfoEnabled()) log.info("initial_hosts: " + initial_hosts);        }        if(initial_hosts == null || initial_hosts.size() == 0) {            log.error("WANPING.setProperties(): hosts to contact for initial membership " +                               "not specified. Cannot determine coordinator !");            return false;        }        return super.setProperties(props);    }    public void sendGetMembersRequest() {        Message msg, copy;        PingHeader hdr;        String h;        hdr=new PingHeader(PingHeader.GET_MBRS_REQ, null);        msg=new Message(null);        msg.putHeader(getName(), hdr);        for(Enumeration en=initial_hosts.elements(); en.hasMoreElements();) {            h=(String)en.nextElement();            copy=msg.copy();            copy.setDest(new WanPipeAddress(h));            passDown(new Event(Event.MSG, copy));        }    }    /* -------------------------- Private methods ---------------------------- */    /**     * Input is "pipe1,pipe2". Return List of Strings     */    private List createInitialHosts(String l) {        List tmp=new List();        StringTokenizer tok=new StringTokenizer(l, ",");        String t;        while(tok.hasMoreTokens()) {            try {                t=tok.nextToken();                tmp.add(t.trim());            }            catch(NumberFormatException e) {                log.error("WANPING.createInitialHosts(): " + e);            }        }        return tmp;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -