クラス Peer
- すべての実装されたインタフェース:
Closeable,AutoCloseable
public class Peer extends Object implements Closeable
- BaseTransportおよびBaseChannelTransportを生成する。
- このピア内で生成されたすべてのTransportを管理し、このPeerの終了時に生きているTransportを 自動的に終了させる。
- LLNetに対するMSkipGraphのように、OverlayのbaseとなるOverlayを管理する。
- RPCInvokerを含むRPCの対象オブジェクトを管理する。
-
ネストされたクラスの概要
ネストされたクラス 修飾子とタイプ クラス 説明 static classPeer.TransportTreeNode -
フィールドの概要
フィールド 修飾子とタイプ フィールド 説明 static StringRAWstatic Option.BooleanOptionRECEIVE_ASYNCstatic StringWITH_FRAGMENTATION -
コンストラクタの概要
-
メソッドの概要
修飾子とタイプ メソッド 説明 voidaddBaseTransportGenerator(BaseTransportGenerator generator)BaseTransportの生成コードをPeerに登録する。voidaddFirstBaseTransportGenerator(BaseTransportGenerator generator)voidclose()voidconcatPeerId2ThreadName()voidexecute(Runnable receiveTask)voidfin()このPeerオブジェクトを終了させる。List<Peer.TransportTreeNode>genTransportTree()List<Transport<?>>getAllTransports()登録されたすべてのTransportのListを返す。Set<TransportIdPath>getBaseOverlays()BaseTransportMgrgetBaseTransportMgr()IdResolvergetIdResolver()static PeergetInstance(PeerId peerId)Peerオブジェクトを取得する。List<Transport<?>>getMatchedTransport(TransportId... suffix)指定されたTransportId(複数可)をsuffixとして持つTransportのListを返す。List<Transport<?>>getMatchedTransport(TransportIdPath suffix)指定されたTransportIdPathをsuffixとして持つTransportのListを返す。PeerIdgetPeerId()ObjectgetRPCObject(ObjectId objId)StatusRepogetStatusRepo()Transport<?>getTransport(TransportIdPath transIdPath)指定されたTransportIdPathを持つTransportを返す。<E extends Endpoint>
ChannelTransport<E>newBaseChannelTransport(E locator)指定されたPeerLocatorをEndpointとして持つBaseChannelTransportを生成する。<E extends Endpoint>
ChannelTransport<E>newBaseChannelTransport(String desc, E locator)指定されたPeerLocatorをEndpointとして持つBaseChannelTransportを生成する。<E extends Endpoint>
ChannelTransport<E>newBaseChannelTransport(String desc, TransportId transId, E locator)指定されたPeerLocatorをEndpointとして持つBaseChannelTransportを生成する。<E extends Endpoint>
Transport<E>newBaseTransport(E locator)指定されたPeerLocatorをEndpointとして持つBaseTransportを生成する。<E extends Endpoint>
Transport<E>newBaseTransport(String desc, E locator)指定されたPeerLocatorをEndpointとして持つBaseTransportを生成する。<E extends Endpoint>
Transport<E>newBaseTransport(String desc, TransportId transId, E locator)指定されたPeerLocatorをEndpointとして持つBaseTransportを生成する。StringprintTransportTree()voidregisterBaseOverlay(TransportIdPath transIdPath)voidregisterRPCObject(ObjectId objId, Object obj)voidregisterTransport(TransportIdPath transIdPath, Transport<?> trans)StringtoString()booleanunregisterBaseOverlay(TransportIdPath transIdPath)booleanunregisterRPCObject(ObjectId objId, Object obj)booleanunregisterTransport(TransportIdPath transIdPath, Transport<?> trans)
-
フィールド詳細
-
RAW
- 関連項目:
- 定数フィールド値
-
WITH_FRAGMENTATION
- 関連項目:
- 定数フィールド値
-
RECEIVE_ASYNC
-
-
コンストラクタの詳細
-
メソッドの詳細
-
getInstance
Peerオブジェクトを取得する。初めてPeerオブジェクトがこのメソッド呼び出しにより取得される場合、または、すでに取得された Peerオブジェクトがfinメソッドの呼び出しにより、終了している場合は、新しくPeerオブジェクトが生成される。
- パラメータ:
peerId- peerId- 戻り値:
- Peerオブジェクト
-
fin
public void fin()このPeerオブジェクトを終了させる。 すべての未終了のTransportはこの時点で自動的に終了する。 -
getPeerId
-
getStatusRepo
- 例外:
IOException
-
getIdResolver
-
getBaseTransportMgr
-
addBaseTransportGenerator
BaseTransportの生成コードをPeerに登録する。このメソッドは、新しくPeerLocatorとそのドライバであるRawTransportが追加された時に、 Peerに対して、BaseTransportの生成方法を教える際に用いる。
- パラメータ:
generator- BaseTransportの生成コード
-
addFirstBaseTransportGenerator
-
newBaseTransport
public <E extends Endpoint> Transport<E> newBaseTransport(E locator) throws IOException, IdConflictException指定されたPeerLocatorをEndpointとして持つBaseTransportを生成する。BaseTransportの生成はデフォルトの設定で行われる。また、 生成後のBaseTransportのTransportIdにはデフォルトの値がセットされる。 BaseTransportの生成手段がない場合はnullが返される。
- 型パラメータ:
E- the type of peer locator.- パラメータ:
locator- PeerLocator- 戻り値:
- 指定されたPeerLocatorをEndpointとして持つBaseTransport
- 例外:
IOException- BaseTransportの生成中にI/Oエラーが発生した場合IdConflictException- 指定したtransIdが他とコンフリクトを起こした場合
-
newBaseTransport
public <E extends Endpoint> Transport<E> newBaseTransport(String desc, E locator) throws IOException, IdConflictException指定されたPeerLocatorをEndpointとして持つBaseTransportを生成する。descはBaseTransportを生成する際に補助情報として用いられるが、これは、 BaseTransportを生成するロジック内で解釈される文字列情報であり、PeerLocator毎に規定される。 descにnullがセットされた場合はデフォルト値として解釈される。 生成後のBaseTransportのTransportIdにはデフォルトの値がセットされる。 BaseTransportの生成手段がない場合はnullが返される。
- 型パラメータ:
E- the type of peer locator.- パラメータ:
desc- BaseTransportを生成する際に与える補助情報locator- PeerLocator- 戻り値:
- 指定されたPeerLocatorをEndpointとして持つBaseTransport
- 例外:
IOException- BaseTransportの生成中にI/Oエラーが発生した場合IdConflictException- 指定したtransIdが他とコンフリクトを起こした場合
-
newBaseTransport
public <E extends Endpoint> Transport<E> newBaseTransport(String desc, TransportId transId, E locator) throws IOException, IdConflictException指定されたPeerLocatorをEndpointとして持つBaseTransportを生成する。descはBaseTransportを生成する際に補助情報として用いられるが、これは、 BaseTransportを生成するロジック内で解釈される文字列情報であり、PeerLocator毎に規定される。 指定されたtransIdが、生成後のBaseTransportのTransportIdとしてセットされる。 descおよびtransIdにnullがセットされた場合はデフォルト値として解釈される。 BaseTransportの生成手段がない場合はnullが返される。
- 型パラメータ:
E- the type of peer locator.- パラメータ:
desc- BaseTransportを生成する際に与える補助情報transId- 生成後のBaseTransportにつけるTransportIdlocator- PeerLocator- 戻り値:
- 指定されたPeerLocatorをEndpointとして持つBaseTransport
- 例外:
IOException- BaseTransportの生成中にI/Oエラーが発生した場合IdConflictException- 指定したtransIdが他とコンフリクトを起こした場合
-
newBaseChannelTransport
public <E extends Endpoint> ChannelTransport<E> newBaseChannelTransport(E locator) throws IOException, IdConflictException指定されたPeerLocatorをEndpointとして持つBaseChannelTransportを生成する。BaseChannelTransportの生成はデフォルトの設定で行われる。また、 生成後のBaseChannelTransportのTransportIdにはデフォルトの値がセットされる。 BaseChannelTransportの生成手段がない場合はnullが返される。
- 型パラメータ:
E- the type of peer locator.- パラメータ:
locator- PeerLocator- 戻り値:
- 指定されたPeerLocatorをEndpointとして持つBaseTransport
- 例外:
IOException- BaseChannelTransportの生成中にI/Oエラーが発生した場合IdConflictException- 指定したtransIdが他とコンフリクトを起こした場合
-
newBaseChannelTransport
public <E extends Endpoint> ChannelTransport<E> newBaseChannelTransport(String desc, E locator) throws IOException, IdConflictException指定されたPeerLocatorをEndpointとして持つBaseChannelTransportを生成する。descはBaseChannelTransportを生成する際に補助情報として用いられるが、これは、 BaseChannelTransportを生成するロジック内で解釈される文字列情報であり、PeerLocator毎に規定される。 descにnullがセットされた場合はデフォルト値として解釈される。 生成後のBaseChannelTransportのTransportIdにはデフォルトの値がセットされる。 BaseChannelTransportの生成手段がない場合はnullが返される。
- 型パラメータ:
E- the type of peer locator.- パラメータ:
desc- base channel transport description.locator- the locator.- 戻り値:
- the peer locator.
- 例外:
IOException- BaseChannelTransportの生成中にI/Oエラーが発生した場合IdConflictException- 指定したtransIdが他とコンフリクトを起こした場合
-
newBaseChannelTransport
public <E extends Endpoint> ChannelTransport<E> newBaseChannelTransport(String desc, TransportId transId, E locator) throws IOException, IdConflictException指定されたPeerLocatorをEndpointとして持つBaseChannelTransportを生成する。descはBaseChannelTransportを生成する際に補助情報として用いられるが、これは、 BaseChannelTransportを生成するロジック内で解釈される文字列情報であり、PeerLocator毎に規定される。 指定されたtransIdが、生成後のBaseChannelTransportのTransportIdとしてセットされる。 descおよびtransIdにnullがセットされた場合はデフォルト値として解釈される。 BaseChannelTransportの生成手段がない場合はnullが返される。
- 型パラメータ:
E- the type of peer locator.- パラメータ:
desc- BaseChannelTransportを生成する際に与える補助情報transId- 生成後のBaseChannelTransportにつけるTransportIdlocator- PeerLocator- 戻り値:
- 指定されたPeerLocatorをEndpointとして持つBaseChannelTransport
- 例外:
IOException- BaseChannelTransportの生成中にI/Oエラーが発生した場合IdConflictException- 指定したtransIdが他とコンフリクトを起こした場合
-
registerTransport
public void registerTransport(TransportIdPath transIdPath, Transport<?> trans) throws IdConflictException -
unregisterTransport
-
getAllTransports
登録されたすべてのTransportのListを返す。- 戻り値:
- 登録されたすべてのTransportのList
-
getTransport
指定されたTransportIdPathを持つTransportを返す。存在しない場合はnullが返される。- パラメータ:
transIdPath- TransportIdPath- 戻り値:
- TransportIdPathを持つTransport。存在しない場合はnull
-
getMatchedTransport
指定されたTransportId(複数可)をsuffixとして持つTransportのListを返す。- パラメータ:
suffix- suffixとして指定されたTransportId(複数可)- 戻り値:
- 指定されたTransportId(複数可)をsuffixとして持つTransportのList
-
getMatchedTransport
指定されたTransportIdPathをsuffixとして持つTransportのListを返す。- パラメータ:
suffix- suffixとして指定されたTransportIdPath- 戻り値:
- 指定されたTransportIdPathをsuffixとして持つTransportのList
-
genTransportTree
-
printTransportTree
-
registerBaseOverlay
-
unregisterBaseOverlay
-
getBaseOverlays
-
registerRPCObject
-
unregisterRPCObject
-
getRPCObject
-
execute
-
concatPeerId2ThreadName
public void concatPeerId2ThreadName() -
toString
-
close
- 定義:
closeインタフェース内AutoCloseable- 定義:
closeインタフェース内Closeable- 例外:
IOException
-