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

📄 rendezvousconnectionmetric.java

📁 jxta_src_2.41b jxta 2.41b 最新版源码 from www.jxta.org
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
     * @return time in ms (see note above)     **/    public long getTotalTimeConnected() {        return totalTimeConnected;    }    /** Get the total time this peer has been connected.  If it is currently      * connected, then the total time is adjusted to include the time since the transition time     * to become connected until the provided time     * @param adjustmentTime The time of this metric will be adjusted to     * @see #getTotalTimeConnected()     * @return time in ms (see note above)     **/    public long getTotalTimeConnected(long adjustmentTime) {         long result = totalTimeConnected;        if (isConnected()) {             result += (adjustmentTime - this.transitionTime);        }			        return result;     }    /** Get the duration of current connection relative to local clock (from transition time)     * <BR><BR>     * <B>Note:</B> This assumes the clocks are in sync with the reporting peer      * @see #getTotalTimeConnected(long)     * @return time in ms (see note above) or 0 if not connected     **/    public long getTimeConnected() {        return getTimeConnected(System.currentTimeMillis());    }    /** Get the duration of current connection until the specified time     * @param adjustmentTime The time of this metric will be computed until     * @see #getTimeConnected()     * @return time in ms (see note above) or 0 if not connected     **/    public long getTimeConnected(long adjustmentTime) {         if (isConnected()) {             return (adjustmentTime - this.transitionTime);        } else {	            return 0;        }     }    private void resetState(String state, long transitionTime) {        if (isConnected()) {             totalTimeConnected += (System.currentTimeMillis() - this.transitionTime);        }        this.state = state;        this.transitionTime = transitionTime;    }    void beginConnection(long transitionTime) {        resetState(CONNECTING, transitionTime);        this.numConnectionsBegun++;    }    void connectionEstablished(long transitionTime, long timeToConnectTime, long lease) {        resetState(CONNECTED, transitionTime);        this.totalTimesToConnect += timeToConnectTime;        this.numConnectionsEstablished++;		        this.lease = lease;	     }    void leaseRenewed(long lastLeaseRenewalTime, long lease) {        this.numLeaseRenewals++;		        this.lastLeaseRenewalTime = lastLeaseRenewalTime;        this.lease = lease;        if (!isConnected()) {            resetState(CONNECTED, lastLeaseRenewalTime);        }		    }	    void connectionRefused(long transitionTime) {        resetState(REFUSED, lastLeaseRenewalTime);        numConnectionsRefused++;    }	    void connectionDisconnected(long transitionTime) {        resetState(DISCONNECTED, lastLeaseRenewalTime);        numDisconnects++;    }    public boolean equals(Object obj) {        if (obj instanceof RendezvousConnectionMetric) {            RendezvousConnectionMetric other = (RendezvousConnectionMetric) obj;			            return (peerID.equals(other.peerID));        } else {            return false;        }    }    public int hashCode() {        return peerID.hashCode();    }    public void serializeTo(Element element) throws DocumentSerializationException {        if (peerID != null) {            DocumentSerializableUtilities.addString(element, "peerID", peerID.toString());        }        if (state != null) {            DocumentSerializableUtilities.addString(element, "state", state);        }        if (transitionTime != 0) {            DocumentSerializableUtilities.addLong(element, "transitionTime", transitionTime);        }        if (lease != 0) {            DocumentSerializableUtilities.addLong(element, "lease", lease);        }        if (numConnectionsBegun != 0) {            DocumentSerializableUtilities.addInt(element, "numConnectionsBegun", numConnectionsBegun);        }        if (numConnectionsEstablished != 0) {            DocumentSerializableUtilities.addInt(element, "numConnectionsEstablished", numConnectionsEstablished);        }        if (numConnectionsRefused != 0) {            DocumentSerializableUtilities.addInt(element, "numConnectionsRefused", numConnectionsRefused);        }        if (totalTimesToConnect != 0) {            DocumentSerializableUtilities.addLong(element, "totalTimesToConnect", totalTimesToConnect);        }        if (totalTimeConnected != 0) {            DocumentSerializableUtilities.addLong(element, "totalTimeConnected", totalTimeConnected);        }        if (lastLeaseRenewalTime != 0) {            DocumentSerializableUtilities.addLong(element, "lastLeaseRenewalTime", lastLeaseRenewalTime);        }        if (numLeaseRenewals != 0) {            DocumentSerializableUtilities.addInt(element, "numLeaseRenewals", numLeaseRenewals);        }        if (numDisconnects != 0) {            DocumentSerializableUtilities.addInt(element, "numDisconnects", numDisconnects);        }    }    public void initializeFrom(Element element) throws DocumentSerializationException {        for (Enumeration e = element.getChildren(); e.hasMoreElements();) {            Element childElement = (TextElement) e.nextElement();            String tagName = (String) childElement.getKey();            if (tagName.equals("peerID")) {                String peerIDText = DocumentSerializableUtilities.getString(childElement);                peerID = MetricUtilities.getPeerIdFromString(peerIDText);            } else if (tagName.equals("state")) {                 state = DocumentSerializableUtilities.getString(childElement);            } else if (tagName.equals("transitionTime")) {                 transitionTime = DocumentSerializableUtilities.getLong(childElement);            } else if (tagName.equals("lease")) {                 lease = DocumentSerializableUtilities.getLong(childElement);            } else if (tagName.equals("numConnectionsBegun")) {                 numConnectionsBegun = DocumentSerializableUtilities.getInt(childElement);            } else if (tagName.equals("numConnectionsEstablished")) {                 numConnectionsEstablished = DocumentSerializableUtilities.getInt(childElement);            } else if (tagName.equals("numConnectionsRefused")) {                 numConnectionsRefused = DocumentSerializableUtilities.getInt(childElement);            } else if (tagName.equals("totalTimesToConnect")) {                 totalTimesToConnect = DocumentSerializableUtilities.getLong(childElement);            } else if (tagName.equals("totalTimeConnected")) {                 totalTimeConnected = DocumentSerializableUtilities.getLong(childElement);            } else if (tagName.equals("lastLeaseRenewalTime")) {                 lastLeaseRenewalTime = DocumentSerializableUtilities.getLong(childElement);            } else if (tagName.equals("numLeaseRenewals")) {                 numLeaseRenewals = DocumentSerializableUtilities.getInt(childElement);            } else if (tagName.equals("numDisconnects")) {                 numDisconnects = DocumentSerializableUtilities.getInt(childElement);            }        }    }    public void mergeMetrics(RendezvousConnectionMetric otherRendezvousConnectionMetric) {        if (otherRendezvousConnectionMetric == null) {            return;         }        if (otherRendezvousConnectionMetric.state != null) {            state = otherRendezvousConnectionMetric.state;        }        if (otherRendezvousConnectionMetric.transitionTime != 0) {            transitionTime = otherRendezvousConnectionMetric.transitionTime;        }        if (otherRendezvousConnectionMetric.lastLeaseRenewalTime != 0) {            lastLeaseRenewalTime = otherRendezvousConnectionMetric.transitionTime;        }	        lease = otherRendezvousConnectionMetric.lease;			        numConnectionsBegun += otherRendezvousConnectionMetric.numConnectionsBegun;        numConnectionsEstablished += otherRendezvousConnectionMetric.numConnectionsEstablished;        numConnectionsRefused += otherRendezvousConnectionMetric.numConnectionsRefused;        totalTimeConnected += otherRendezvousConnectionMetric.totalTimeConnected;	        numLeaseRenewals += otherRendezvousConnectionMetric.numLeaseRenewals;	        numDisconnects += otherRendezvousConnectionMetric.numDisconnects;    }}

⌨️ 快捷键说明

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