パッケージ org.piax.gtrans.ov.szk
クラス ChordSharpVNode<E extends Endpoint>
java.lang.Object
org.piax.gtrans.ov.ring.RingVNode<E>
org.piax.gtrans.ov.ring.rq.RQVNode<E>
org.piax.gtrans.ov.szk.ChordSharpVNode<E>
- 型パラメータ:
E- Endpoint of the underlying network
- すべての実装されたインタフェース:
NodeObserver
public class ChordSharpVNode<E extends Endpoint> extends RQVNode<E>
a virtual node of multi-key Chord#.
-
ネストされたクラスの概要
ネストされたクラス 修飾子とタイプ クラス 説明 static classChordSharpVNode.FTEntrySeta class for sending/receiving finger table entries between nodes. -
フィールドの概要
フィールド 修飾子とタイプ フィールド 説明 static intBparameter to compute the base of logstatic booleanDBEUG_FT_UPDATESstatic intKthe base of log.static intSUCCESSOR_LIST_SIZEstatic intUPDATE_FINGER_PERIODクラスから継承されたフィールド org.piax.gtrans.ov.ring.RingVNode
DDLL_OPT, DDLL_RETRY_INTERVAL, ddllNode, DEFAULT_DDLL_CHECK_PERIOD, key, manager, mode, NUMBER_OF_DDLL_RETRY -
コンストラクタの概要
コンストラクタ コンストラクタ 説明 ChordSharpVNode(ChordSharp<E> cs, Comparable<?> rawkey) -
メソッドの概要
修飾子とタイプ メソッド 説明 protected booleanaddKey(E introducer)insert a key into a ring.Link[]getAllLinks()protected FTEntrygetBackwardFingerTableEntry(int index)intgetBackwardFingerTableSize()ChordSharpVNode.FTEntrySetgetFingers(int x, int y, int k, ChordSharpVNode.FTEntrySet given)finger table 上で,距離が tkx (0 <= t <= 2y) 離れたエントリを取得する.結果は 2y+1 要素の配列として返す.FTEntry[][]getFingerTable()protected FTEntrygetFingerTableEntry(int index)protected FTEntrygetFingerTableEntryForRemote(int index, int index2)get a specified FTEntry for giving to a remote node.intgetFingerTableSize()protected FTEntrygetLocalFTEnetry()List<Link>getSuccessorList()voidonRightNodeChange(Link prevRight, Link newRight, Object payload)called when the right link is changed by receiving a SetR message.protected booleanremoveKey()voidscheduleFTUpdate(boolean immed)voidscheduleFTUpdate(int delay, int interval)List<Link>suppplyLeftCandidatesForFix()StringtoStringRoutingTable()クラスから継承されたメソッド org.piax.gtrans.ov.ring.RingVNode
fixLeftLinks, getCheckPeriod, getDdllNode, getKey, getLocalLink, getManager, getMode, getPredecessor, getRawKey, getSuccessor, isInserted, onNodeFailure, payloadNotSent, rtLockR, rtLockW, rtUnlockR, rtUnlockW, toString
-
フィールド詳細
-
DBEUG_FT_UPDATES
public static boolean DBEUG_FT_UPDATES -
UPDATE_FINGER_PERIOD
public static int UPDATE_FINGER_PERIOD -
B
public static int Bparameter to compute the base of log -
K
public static final int Kthe base of log. K = 2B -
SUCCESSOR_LIST_SIZE
public static final int SUCCESSOR_LIST_SIZE- 関連項目:
- 定数フィールド値
-
-
コンストラクタの詳細
-
メソッドの詳細
-
toStringRoutingTable
- オーバーライド:
toStringRoutingTableクラス内RingVNode<E extends Endpoint>
-
addKey
クラスからコピーされた説明:RingVNodeinsert a key into a ring.- オーバーライド:
addKeyクラス内RingVNode<E extends Endpoint>- パラメータ:
introducer- 既に挿入済みのノード- 戻り値:
- 成功したらtrue
- 例外:
UnavailableException- introducerにkeyが存在しないIOException- introducerとの通信でエラー or insertion failure
-
scheduleFTUpdate
public void scheduleFTUpdate(boolean immed) -
scheduleFTUpdate
public void scheduleFTUpdate(int delay, int interval) -
removeKey
protected boolean removeKey() -
getAllLinks
- オーバーライド:
getAllLinksクラス内RingVNode<E extends Endpoint>
-
getSuccessorList
-
getLocalFTEnetry
-
getFingerTableSize
public int getFingerTableSize() -
getBackwardFingerTableSize
public int getBackwardFingerTableSize() -
getFingers
public ChordSharpVNode.FTEntrySet getFingers(int x, int y, int k, ChordSharpVNode.FTEntrySet given)finger table 上で,距離が tkx (0 <= t <= 2y) 離れたエントリを取得する.結果は 2y+1 要素の配列として返す.- パラメータ:
x- parametery- parameterk- parametergiven- finger table entries to give to the remote node- 戻り値:
- list of finger table entries
-
getFingerTable
-
getFingerTableEntry
-
getFingerTableEntryForRemote
get a specified FTEntry for giving to a remote node. in aggregation chord#, the range [index, index2) is used as the aggregation range. this method is intended to be overridden by subclasses.- パラメータ:
index- index of the entryindex2- index of the next entry.- 戻り値:
- the FTEntry
-
getBackwardFingerTableEntry
-
onRightNodeChange
インタフェースからコピーされた説明:NodeObservercalled when the right link is changed by receiving a SetR message.- 定義:
onRightNodeChangeインタフェース内NodeObserver- オーバーライド:
onRightNodeChangeクラス内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, LinkSeq, int, Object)
-
suppplyLeftCandidatesForFix
- 定義:
suppplyLeftCandidatesForFixインタフェース内NodeObserver- オーバーライド:
suppplyLeftCandidatesForFixクラス内RingVNode<E extends Endpoint>
-