パッケージ org.piax.gtrans.ov.sg
クラス SGNode<E extends Endpoint>
java.lang.Object
org.piax.gtrans.ov.sg.SGNode<E>
- すべての実装されたインタフェース:
NodeObserver
public class SGNode<E extends Endpoint> extends Object implements NodeObserver
a node in a skip graph.
-
ネストされたクラスの概要
ネストされたクラス 修飾子とタイプ クラス 説明 static classSGNode.Tilea class representing single level of the routing table of a skip graph. -
コンストラクタの概要
コンストラクタ コンストラクタ 説明 SGNode(SkipGraph<E> sg, MembershipVector mv, Comparable<?> rawkey)create a SGNode instance. -
メソッドの概要
修飾子とタイプ メソッド 説明 SGNode.TilegetDdllNode(int level, SkipGraph.LvState newstate)SkipGraph.SGNodeInfogetSGNodeInfo(int level, MembershipVector mv, int nTraversed)指定した level に関連するSkipGraph.SGNodeInfoを返す.SGNode.TilegetTile(int level)booleanonNodeFailure(Collection<Link> failedLinks)called when node failure is detected by DDLL's node monitor.voidonRightNodeChange(Link prevRight, Link newRight, Object payload)called when the right link is changed by receiving a SetR message.voidpayloadNotSent(Object payload)called when the payload given viaNode.setR(Link, int, Link, Link, LinkSeq, int, Object)is not passed to the specified remote node.List<Link>suppplyLeftCandidatesForFix()StringtoString()
-
コンストラクタの詳細
-
SGNode
create a SGNode instance.- パラメータ:
sg- the SkipGraph instance that manages this nodemv- membership vectorrawkey- the key
-
-
メソッドの詳細
-
getSGNodeInfo
指定した level に関連するSkipGraph.SGNodeInfoを返す.メンバシップベクタの上位ビットが同一であるノードを検索するために
findMatchingNode(int)からRPCで呼ばれる.自ノードも findMatchingNode実行中の場合,いままでにトラバースしたノード数 traversed が大きい側が勝つ.自ノードが負けた場合,findMatchingNode を実行中のスレッドに通知する.
返り値の SGNodeInfo には以下の情報が格納される.
・me: (level + 1) の自分自身へのリンク ・left: (level + 1) の左リンク ・right: (level + 0) の右リンク.null if the caller cannot traverse rightward further.自ノードが削除中の場合,指定されたlevelは削除済みの可能性がある.このときはnullを返す.
自ノードが挿入中で level + 1 Linkがまだない場合,me = null を返す. (level + 0は存在するので,メンバシップベクトルが一致しなければcaller側はrightを使って 検索を継続できることに注意)
- パラメータ:
level- levelmv- the membership vector of the remote (caller) nodenTraversed- the number of traversed node of the remote node- 戻り値:
- the SGNodeInfo
-
getDdllNode
-
toString
-
getTile
-
onRightNodeChange
インタフェースからコピーされた説明:NodeObservercalled when the right link is changed by receiving a SetR message.- 定義:
onRightNodeChangeインタフェース内NodeObserver- パラメータ:
prevRight- the previous right linknewRight- the new right linkpayload- an Object passed with SetR message.- 関連項目:
Node.setR(Link, int, Link, Link, LinkSeq, int, Object)
-
payloadNotSent
インタフェースからコピーされた説明:NodeObservercalled when the payload given viaNode.setR(Link, int, Link, Link, LinkSeq, int, Object)is not passed to the specified remote node. typically this happens when the SetR request fails.- 定義:
payloadNotSentインタフェース内NodeObserver- パラメータ:
payload- the payload not has been sent
-
onNodeFailure
インタフェースからコピーされた説明:NodeObservercalled when node failure is detected by DDLL's node monitor. if this method returns true, the DDLL link fixing procedure is executed just after returning from this method. when false is returned, it is application's responsibility to repair the failed link.- 定義:
onNodeFailureインタフェース内NodeObserver- パラメータ:
failedLinks- the collection of failed links.- 戻り値:
- true to execute DDLL's link fixing procedure
-
suppplyLeftCandidatesForFix
- 定義:
suppplyLeftCandidatesForFixインタフェース内NodeObserver
-