📄 finger.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 + -