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

📄 finger.java

📁 High performance DB query
💻 JAVA
字号:
/* * @(#)$Id: Finger.java,v 1.6 2004/07/02 23:59:20 huebsch Exp $ * * Copyright (c) 2001-2004 Regents of the University of California. * All rights reserved. * * This file is distributed under the terms in the attached BERKELEY-LICENSE * file. If you do not find these files, copies can be found by writing to: * Computer Science Division, Database Group, Universite of California, * 617 Soda Hall #1776, Berkeley, CA 94720-1776. Attention: Berkeley License * * Copyright (c) 2003-2004 Intel Corporation. All rights reserved. * * This file is distributed under the terms in the attached INTEL-LICENSE file. * If you do not find these files, copies can be found by writing to: * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, * Berkeley, CA, 94704.  Attention:  Intel License Inquiry. */package overlay.location.chord;import java.net.InetSocketAddress;import services.network.Payload;import util.BitID;/** This class represents an entry in a chord fingertable. */public class Finger {    private InetSocketAddress node;    private BitID id;    private double lastUpdate, expiration;    private double latency;    /**     * Creates a new instance of Finger     *     * @param node     * @param id     * @param now     * @param lifetime     * @param latency     */    public Finger(InetSocketAddress node, BitID id, double now,                  double lifetime, double latency) {        this.node = node;        this.id = id;        this.lastUpdate = now;        this.expiration = now + lifetime;        this.latency = latency;    }    /**     * Method getAddress     * @return     */    public InetSocketAddress getAddress() {        return node;    }    /**     * Method getID     * @return     */    public BitID getID() {        return id;    }    /**     * Method getLastUpdate     * @return     */    public double getLastUpdate() {        return lastUpdate;    }    /**     * Method setLastUpdate     *     * @param time     */    public void setLastUpdate(double time) {        this.lastUpdate = time;    }    /**     * Method getExpiration     * @return     */    public double getExpiration() {        return expiration;    }    /**     * Method setExpiration     *     * @param time     */    public void setExpiration(double time) {        this.expiration = time;    }    /**     * Method extendLifetime     *     * @param lifetime     */    public void extendLifetime(double lifetime) {        this.expiration += lifetime;    }    /**     * Method getLatency     * @return     */    public double getLatency() {        return latency;    }    /**     * Method setLatency     *     * @param latency     */    public void setLatency(double latency) {        this.latency = latency;    }    /**     * Method getSize     * @return     */    public int getSize() {        return Payload.INET_SOCKET_SIZE + id.getSize() + Payload.DOUBLE_SIZE               + Payload.DOUBLE_SIZE + Payload.LONG_SIZE;    }    /**     * Method clone     * @return     */    public Object clone() {        return new Finger(node, id, expiration, expiration - lastUpdate,                          latency);    }    /**     * Method toString     * @return     */    public String toString() {        return new String("[F: " + node + ", " + id.toNumString() + "]");    }}

⌨️ 快捷键说明

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