91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 195KB
    文件類型: .gz
    金幣: 1
    下載: 0 次
    發布日期: 2024-02-01
  • 語言: 其他
  • 標簽: p2p??peersim??chord??

資源簡介

主要是利用PeerSim進行Chord仿真所需要的一些協議與初始化變量內容,可以仿真出Chord網絡結點的路由表,后繼結點等信息,并能夠執行結點加入退出以及索引的相關內容。

資源截圖

代碼片段和文件信息

package?peersim.chord;

import?java.math.BigInteger;
import?java.util.Random;
import?peersim.config.Configuration;
import?peersim.core.CommonState;
import?peersim.core.Network;
import?peersim.core.Node;
import?peersim.dynamics.NodeInitializer;

public?class?ChordInitializer?implements?NodeInitializer?{

private?static?final?String?PAR_PROT?=?“protocol“;

private?int?pid?=?0;

private?ChordProtocol?cp;

public?ChordInitializer(String?prefix)?{
pid?=?Configuration.getPid(prefix?+?“.“?+?PAR_PROT);
}

public?void?initialize(Node?n)?{
cp?=?(ChordProtocol)?n.getProtocol(pid);
join(n);
}

public?void?join(Node?myNode)?{
Random?generator?=?new?Random();
cp.predecessor?=?null;
//?search?a?node?to?join
Node?n;
do?{
n?=?Network.get(generator.nextInt(Network.size()));
}?while?(n?==?null?||?n.isUp()?==?false);
cp.m?=?((ChordProtocol)?n.getProtocol(pid)).m;
cp.chordId?=?new?BigInteger(cp.m?CommonState.r);
ChordProtocol?cpRemote?=?(ChordProtocol)?n.getProtocol(pid);

Node?successor?=?cpRemote.find_successor(cp.chordId);
cp.fails?=?0;
cp.stabilizations?=?0;
cp.varSuccList?=?cpRemote.varSuccList;
cp.varSuccList?=?0;
cp.succLSize?=?cpRemote.succLSize;
cp.successorList?=?new?Node[cp.succLSize];
cp.successorList[0]?=?successor;
cp.fingerTable?=?new?Node[cp.m];
long?succId?=?0;
BigInteger?lastId?=?((ChordProtocol)?Network.get(Network.size()?-?1)
.getProtocol(pid)).chordId;
do?{
cp.stabilizations++;
succId?=?cp.successorList[0].getID();
cp.stabilize(myNode);
if?(((ChordProtocol)?cp.successorList[0].getProtocol(pid)).chordId
.compareTo(cp.chordId)? cp.successorList[0]?=?((ChordProtocol)?cp.successorList[0]
.getProtocol(pid)).find_successor(cp.chordId);
}
//?controllo?di?non?essere?l‘ultimo?elemento?della?rete
if?(cp.chordId.compareTo(lastId)?>?0)?{
cp.successorList[0]?=?Network.get(0);
break;
}
}?while?(cp.successorList[0].getID()?!=?succId
||?((ChordProtocol)?cp.successorList[0].getProtocol(pid)).chordId
.compareTo(cp.chordId)? cp.fixFingers();
}
}

評論

共有 條評論