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

📄 deserializedposition.java

📁 这是一个基于java编写的torrent的P2P源码
💻 JAVA
字号:
package com.aelitis.azureus.vivaldi.ver2;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;

import com.aelitis.azureus.core.dht.netcoords.DHTNetworkPosition;

import edu.harvard.syrah.nc.Coordinate;

/*
 * The DHTNetworkPosition implementation for deserialized coordinates.
 */
class DeserializedPosition extends SyrahPosition {
	private Coordinate coords;
	private float error;
	private long age;
  
	protected DeserializedPosition(DataInputStream dis) throws IOException {
		coords = new Coordinate(VivaldiV2PositionProvider.NUM_DIMS, dis);
		error = dis.readFloat();
		age = dis.readLong();
  }

	public Coordinate getCoords() {
		return coords;
	}

	public Coordinate getStableCoords() {
		return coords;
	}

  public float getError() {
    return error;
  }

  public long getAge() {
    return age;
  }
  
	public float estimateRTT(DHTNetworkPosition other) {
		SyrahPosition sp = (SyrahPosition) other;
    if (Float.isNaN(getError()) || Float.isNaN(sp.getError())) return Float.NaN;
		return (float) coords.distanceToNonOriginCoord(sp.getCoords());
	}

	public void update(byte[] other_id, DHTNetworkPosition other, float rtt) {
		SyrahPosition sp = (SyrahPosition) other;
		coords = sp.getCoords();
		error = sp.getError();
    age = sp.getAge();
	}

	public void serialise(DataOutputStream dos) throws IOException {
		coords.toSerialized(dos);
		dos.writeFloat(error);
		dos.writeLong(age);
  }
}

⌨️ 快捷键说明

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