E - Endpoint of the underlying networkpublic class ChordSharpVNode<E extends Endpoint> extends RQVNode<E>
| 修飾子とタイプ | クラスと説明 |
|---|---|
static class |
ChordSharpVNode.FTEntrySet
a class for sending/receiving finger table entries between nodes.
|
RingVNode.VNodeMode| 修飾子とタイプ | フィールドと説明 |
|---|---|
static int |
B
parameter to compute the base of log
|
static boolean |
DBEUG_FT_UPDATES |
static int |
K
the base of log.
|
static int |
SUCCESSOR_LIST_SIZE |
static int |
UPDATE_FINGER_PERIOD |
DDLL_OPT, DDLL_RETRY_INTERVAL, ddllNode, DEFAULT_DDLL_CHECK_PERIOD, key, manager, mode, NUMBER_OF_DDLL_RETRY| コンストラクタと説明 |
|---|
ChordSharpVNode(ChordSharp<E> cs,
Comparable<?> rawkey) |
| 修飾子とタイプ | メソッドと説明 |
|---|---|
protected boolean |
addKey(E introducer)
insert a key into a ring.
|
Link[] |
getAllLinks() |
protected FTEntry |
getBackwardFingerTableEntry(int index) |
int |
getBackwardFingerTableSize() |
ChordSharpVNode.FTEntrySet |
getFingers(int x,
int y,
int k,
ChordSharpVNode.FTEntrySet given)
finger table 上で,距離が tkx (0 <= t <= 2y)
離れたエントリを取得する.結果は 2y+1 要素の配列として返す.
|
FTEntry[][] |
getFingerTable() |
protected FTEntry |
getFingerTableEntry(int index) |
protected FTEntry |
getFingerTableEntryForRemote(int index,
int index2)
get a specified FTEntry for giving to a remote node.
|
int |
getFingerTableSize() |
protected FTEntry |
getLocalFTEnetry() |
List<Link> |
getSuccessorList() |
void |
onRightNodeChange(Link prevRight,
Link newRight,
Object payload)
called when the right link is changed by receiving a SetR message.
|
protected boolean |
removeKey() |
void |
scheduleFTUpdate(boolean immed) |
void |
scheduleFTUpdate(int delay,
int interval) |
List<Link> |
suppplyLeftCandidatesForFix() |
String |
toStringRoutingTable() |
fixLeftLinks, getCheckPeriod, getDdllNode, getKey, getLocalLink, getManager, getMode, getPredecessor, getRawKey, getSuccessor, isInserted, onNodeFailure, payloadNotSent, rtLockR, rtLockW, rtUnlockR, rtUnlockW, toStringpublic static boolean DBEUG_FT_UPDATES
public static final int UPDATE_FINGER_PERIOD
public static final int B
public static final int K
public static final int SUCCESSOR_LIST_SIZE
public ChordSharpVNode(ChordSharp<E> cs, Comparable<?> rawkey)
public String toStringRoutingTable()
toStringRoutingTable クラス内 RingVNode<E extends Endpoint>protected boolean addKey(E introducer) throws UnavailableException, IOException
RingVNodeaddKey クラス内 RingVNode<E extends Endpoint>introducer - 既に挿入済みのノードUnavailableException - introducerにkeyが存在しないIOException - introducerとの通信でエラー or insertion failurepublic void scheduleFTUpdate(boolean immed)
public void scheduleFTUpdate(int delay,
int interval)
public Link[] getAllLinks()
getAllLinks クラス内 RingVNode<E extends Endpoint>protected FTEntry getLocalFTEnetry()
public int getFingerTableSize()
public int getBackwardFingerTableSize()
public ChordSharpVNode.FTEntrySet getFingers(int x, int y, int k, ChordSharpVNode.FTEntrySet given)
x - parametery - parameterk - parametergiven - finger table entries to give to the remote nodepublic FTEntry[][] getFingerTable()
protected final FTEntry getFingerTableEntry(int index)
protected FTEntry getFingerTableEntryForRemote(int index, int index2)
index - index of the entryindex2 - index of the next entry.protected FTEntry getBackwardFingerTableEntry(int index)
public void onRightNodeChange(Link prevRight, Link newRight, Object payload)
NodeObserveronRightNodeChange インタフェース内 NodeObserveronRightNodeChange クラス内 RingVNode<E extends Endpoint>prevRight - the previous right linknewRight - the new right linkpayload - an Object passed with SetR message.Node.setR(Link, int, Link, Link, LinkNum, int, Object)public List<Link> suppplyLeftCandidatesForFix()
suppplyLeftCandidatesForFix インタフェース内 NodeObserversuppplyLeftCandidatesForFix クラス内 RingVNode<E extends Endpoint>Copyright © 2017. All rights reserved.