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

📄 rendezvousconnectionmetric.java

📁 jxta_src_2.41b jxta 2.41b 最新版源码 from www.jxta.org
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * Copyright (c) 2001 Sun Microsystem, Inc.  All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in *    the documentation and/or other materials provided with the *    distribution. * * 3. The end-user documentation included with the redistribution, *    if any, must include the following acknowledgment: *       "This product includes software developed by the *       Sun Microsystem, Inc. for Project JXTA." *    Alternately, this acknowledgment may appear in the software itself, *    if and wherever such third-party acknowledgments normally appear. * * 4. The names "Sun", "Sun Microsystem, Inc.", "JXTA" and "Project JXTA" must *    not be used to endorse or promote products derived from this *    software without prior written permission. For written *    permission, please contact Project JXTA at http:/www.jxta.org. * * 5. Products derived from this software may not be called "JXTA", *    nor may "JXTA" appear in their name, without prior written *    permission of Sun. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED.  IN NO EVENT SHALL SUN MICROSYSTEM OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of Project JXTA.  For more * information on Project JXTA, please see * <http:/www.jxta.org/>. * * This license is based on the BSD license adopted by the Apache Foundation. * * $Id: RendezvousConnectionMetric.java,v 1.10 2006/01/05 21:48:38 bondolo Exp $ */package net.jxta.impl.rendezvous.rendezvousMeter;import net.jxta.rendezvous.*;import net.jxta.util.documentSerializable.*;import net.jxta.document.*;import net.jxta.peer.*;import net.jxta.endpoint.*;import net.jxta.util.*;import net.jxta.exception.*;import net.jxta.impl.meter.*;import java.util.*;/** * The metrics about a client peer's connection to a rendezvous **/public class RendezvousConnectionMetric implements DocumentSerializable {    public static final String CONNECTING = "connecting";    public static final String CONNECTED = "connected";    public static final String DISCONNECTED = "disconnected";    public static final String REFUSED = "refused";	    private PeerID peerID;	    private String state = null;    private long transitionTime;    private long lease;    private int numConnectionsBegun = 0;    private int numConnectionsEstablished = 0;    private int numConnectionsRefused = 0;    private long totalTimesToConnect;    private long totalTimeConnected;    private long lastLeaseRenewalTime;    private int numLeaseRenewals;    private int numDisconnects;    public RendezvousConnectionMetric() {}    public RendezvousConnectionMetric(PeerID peerID) {        this.peerID = peerID;        this.state = DISCONNECTED;		    }    public RendezvousConnectionMetric(RendezvousConnectionMetric prototype) {        this.peerID = prototype.peerID;	        this.state = prototype.state;        this.transitionTime = prototype.transitionTime;        this.lastLeaseRenewalTime = prototype.lastLeaseRenewalTime;        this.lease = prototype.lease;		    }    /** Peer ID of  Rendezvous  **/    public PeerID getPeerID() {        return peerID;    }    /**     * State of Client Rendezvous     * @return RendezvousConnectionMetric.CONNECTING, RendezvousConnectionMetric.CONNECTED, RendezvousConnectionMetric.DISCONNECTED or RendezvousConnectionMetric.REFUSED     **/    public String getState() {        return state;    }    /** Get the time that it entered the current state      * @return transition time in ms since January 1, 1970, 00:00:00 GMT     **/    public long getTransitionTime() {        return transitionTime;    }	    /** Is connecting to Rendezvous **/    public boolean isConnecting() {        return (state != null) && state.equals(CONNECTING);    }    /** Get time began connecting to Rendezvous      * @return time began or 0 if not connecting     **/    public long getBeginConnectionTime() {        return isConnecting() ? transitionTime : 0;    }    /** Is connected to Rendezvous **/    public boolean isConnected() {        return (state != null) && state.equals(CONNECTED);    }    /** Get time connected to Rendezvous      * @return time began or 0 if not connected     **/    public long getTimeConnectionEstablished() {        return isConnected() ? transitionTime : 0;    }    /** Get lease establised with Rendezvous **/    public long getLease() {        return lease;    }    /** Get Number of Connections begun with Rendezvous **/    public int getNumConnectionsBegun() {        return numConnectionsBegun;    }    /** Get Number of Connections established with Rendezvous **/    public int getNumConnectionsEstablished() {        return numConnectionsEstablished;    }    /** Get Number of Connections refused by Rendezvous **/    public int getNumConnectionsRefused() {        return numConnectionsRefused;    }    /** Get Sum of times it took to connect **/    public long getTotalTimesToConnect() {        return totalTimesToConnect;    }    /** Get Last Lease Renewal Time **/    public long getLastLeaseRenewalTime() {        return lastLeaseRenewalTime;    }    /** Get Number of lease Renewals **/    public int getNumLeaseRenewals() {        return numLeaseRenewals;    }    /** Get Number of Disconnects **/    public int getNumDisconnects() {        return numDisconnects;    }    /** Get time disconnected to Rendezvous      * @return time began or 0 if not disconnected     **/    public long getDisconnectTime() {        return isDisconnected() ? transitionTime : 0;    }    /** Have we disconnected fromthis Rendezvous **/    public boolean isDisconnected() {        return (state != null) && (state.equals(DISCONNECTED) || state.equals(REFUSED));    }	    /** Get the total time this peer has been connected.     * <BR><BR>     * <B>Note:</B> This does not include the current time connected (if it is currently connected)     * @see #getTotalTimeConnected(long)

⌨️ 快捷键说明

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