public class Peer extends Object
| 修飾子とタイプ | クラスと説明 |
|---|---|
static class |
Peer.TransportTreeNode |
| 修飾子とタイプ | フィールドと説明 |
|---|---|
static String |
RAW |
static String |
WITH_FRAGMENTATION |
| 修飾子とタイプ | メソッドと説明 |
|---|---|
void |
addBaseTransportGenerator(BaseTransportGenerator generator)
BaseTransportの生成コードをPeerに登録する。
|
void |
addFirstBaseTransportGenerator(BaseTransportGenerator generator) |
void |
concatPeerId2ThreadName() |
void |
execute(Runnable receiveTask) |
void |
fin()
このPeerオブジェクトを終了させる。
|
List<Peer.TransportTreeNode> |
genTransportTree() |
List<Transport<?>> |
getAllTransports()
登録されたすべてのTransportのListを返す。
|
Set<TransportIdPath> |
getBaseOverlays() |
BaseTransportMgr |
getBaseTransportMgr() |
IdResolver |
getIdResolver() |
static Peer |
getInstance(PeerId peerId)
Peerオブジェクトを取得する。
|
List<Transport<?>> |
getMatchedTransport(TransportId... suffix)
指定されたTransportId(複数可)をsuffixとして持つTransportのListを返す。
|
List<Transport<?>> |
getMatchedTransport(TransportIdPath suffix)
指定されたTransportIdPathをsuffixとして持つTransportのListを返す。
|
PeerId |
getPeerId() |
RPCIf |
getRPCObject(ObjectId objId) |
StatusRepo |
getStatusRepo() |
Transport<?> |
getTransport(TransportIdPath transIdPath)
指定されたTransportIdPathを持つTransportを返す。
|
<E extends PeerLocator> |
newBaseChannelTransport(E locator)
指定されたPeerLocatorをEndpointとして持つBaseChannelTransportを生成する。
|
<E extends PeerLocator> |
newBaseChannelTransport(String desc,
E locator)
指定されたPeerLocatorをEndpointとして持つBaseChannelTransportを生成する。
|
<E extends PeerLocator> |
newBaseChannelTransport(String desc,
TransportId transId,
E locator)
指定されたPeerLocatorをEndpointとして持つBaseChannelTransportを生成する。
|
<E extends PeerLocator> |
newBaseTransport(E locator)
指定されたPeerLocatorをEndpointとして持つBaseTransportを生成する。
|
<E extends PeerLocator> |
newBaseTransport(String desc,
E locator)
指定されたPeerLocatorをEndpointとして持つBaseTransportを生成する。
|
<E extends PeerLocator> |
newBaseTransport(String desc,
TransportId transId,
E locator)
指定されたPeerLocatorをEndpointとして持つBaseTransportを生成する。
|
String |
printTransportTree() |
void |
registerBaseOverlay(TransportIdPath transIdPath) |
void |
registerRPCObject(ObjectId objId,
RPCIf obj) |
void |
registerTransport(TransportIdPath transIdPath,
Transport<?> trans) |
String |
toString() |
boolean |
unregisterBaseOverlay(TransportIdPath transIdPath) |
boolean |
unregisterRPCObject(ObjectId objId,
RPCIf obj) |
boolean |
unregisterTransport(TransportIdPath transIdPath,
Transport<?> trans) |
protected Peer(PeerId peerId)
public static Peer getInstance(PeerId peerId)
初めてPeerオブジェクトがこのメソッド呼び出しにより取得される場合、または、すでに取得された Peerオブジェクトがfinメソッドの呼び出しにより、終了している場合は、新しくPeerオブジェクトが生成される。
peerId - peerIdpublic void fin()
public PeerId getPeerId()
public StatusRepo getStatusRepo() throws IOException
IOExceptionpublic IdResolver getIdResolver()
public BaseTransportMgr getBaseTransportMgr()
public void addBaseTransportGenerator(BaseTransportGenerator generator)
このメソッドは、新しくPeerLocatorとそのドライバであるRawTransportが追加された時に、 Peerに対して、BaseTransportの生成方法を教える際に用いる。
generator - BaseTransportの生成コードpublic void addFirstBaseTransportGenerator(BaseTransportGenerator generator)
public <E extends PeerLocator> Transport<E> newBaseTransport(E locator) throws IOException, IdConflictException
BaseTransportの生成はデフォルトの設定で行われる。また、 生成後のBaseTransportのTransportIdにはデフォルトの値がセットされる。 BaseTransportの生成手段がない場合はnullが返される。
E - the type of peer locator.locator - PeerLocatorIOException - BaseTransportの生成中にI/Oエラーが発生した場合IdConflictException - 指定したtransIdが他とコンフリクトを起こした場合public <E extends PeerLocator> Transport<E> newBaseTransport(String desc, E locator) throws IOException, IdConflictException
descはBaseTransportを生成する際に補助情報として用いられるが、これは、 BaseTransportを生成するロジック内で解釈される文字列情報であり、PeerLocator毎に規定される。 descにnullがセットされた場合はデフォルト値として解釈される。 生成後のBaseTransportのTransportIdにはデフォルトの値がセットされる。 BaseTransportの生成手段がない場合はnullが返される。
E - the type of peer locator.desc - BaseTransportを生成する際に与える補助情報locator - PeerLocatorIOException - BaseTransportの生成中にI/Oエラーが発生した場合IdConflictException - 指定したtransIdが他とコンフリクトを起こした場合public <E extends PeerLocator> Transport<E> newBaseTransport(String desc, TransportId transId, E locator) throws IOException, IdConflictException
descはBaseTransportを生成する際に補助情報として用いられるが、これは、 BaseTransportを生成するロジック内で解釈される文字列情報であり、PeerLocator毎に規定される。 指定されたtransIdが、生成後のBaseTransportのTransportIdとしてセットされる。 descおよびtransIdにnullがセットされた場合はデフォルト値として解釈される。 BaseTransportの生成手段がない場合はnullが返される。
E - the type of peer locator.desc - BaseTransportを生成する際に与える補助情報transId - 生成後のBaseTransportにつけるTransportIdlocator - PeerLocatorIOException - BaseTransportの生成中にI/Oエラーが発生した場合IdConflictException - 指定したtransIdが他とコンフリクトを起こした場合public <E extends PeerLocator> ChannelTransport<E> newBaseChannelTransport(E locator) throws IOException, IdConflictException
BaseChannelTransportの生成はデフォルトの設定で行われる。また、 生成後のBaseChannelTransportのTransportIdにはデフォルトの値がセットされる。 BaseChannelTransportの生成手段がない場合はnullが返される。
E - the type of peer locator.locator - PeerLocatorIOException - BaseChannelTransportの生成中にI/Oエラーが発生した場合IdConflictException - 指定したtransIdが他とコンフリクトを起こした場合public <E extends PeerLocator> ChannelTransport<E> newBaseChannelTransport(String desc, E locator) throws IOException, IdConflictException
descはBaseChannelTransportを生成する際に補助情報として用いられるが、これは、 BaseChannelTransportを生成するロジック内で解釈される文字列情報であり、PeerLocator毎に規定される。 descにnullがセットされた場合はデフォルト値として解釈される。 生成後のBaseChannelTransportのTransportIdにはデフォルトの値がセットされる。 BaseChannelTransportの生成手段がない場合はnullが返される。
E - the type of peer locator.desc - base channel transport description.locator - the locator.IOException - BaseChannelTransportの生成中にI/Oエラーが発生した場合IdConflictException - 指定したtransIdが他とコンフリクトを起こした場合public <E extends PeerLocator> ChannelTransport<E> newBaseChannelTransport(String desc, TransportId transId, E locator) throws IOException, IdConflictException
descはBaseChannelTransportを生成する際に補助情報として用いられるが、これは、 BaseChannelTransportを生成するロジック内で解釈される文字列情報であり、PeerLocator毎に規定される。 指定されたtransIdが、生成後のBaseChannelTransportのTransportIdとしてセットされる。 descおよびtransIdにnullがセットされた場合はデフォルト値として解釈される。 BaseChannelTransportの生成手段がない場合はnullが返される。
E - the type of peer locator.desc - BaseChannelTransportを生成する際に与える補助情報transId - 生成後のBaseChannelTransportにつけるTransportIdlocator - PeerLocatorIOException - BaseChannelTransportの生成中にI/Oエラーが発生した場合IdConflictException - 指定したtransIdが他とコンフリクトを起こした場合public void registerTransport(TransportIdPath transIdPath, Transport<?> trans) throws IdConflictException
public boolean unregisterTransport(TransportIdPath transIdPath, Transport<?> trans)
public List<Transport<?>> getAllTransports()
public Transport<?> getTransport(TransportIdPath transIdPath)
transIdPath - TransportIdPathpublic List<Transport<?>> getMatchedTransport(TransportId... suffix)
suffix - suffixとして指定されたTransportId(複数可)public List<Transport<?>> getMatchedTransport(TransportIdPath suffix)
suffix - suffixとして指定されたTransportIdPathpublic List<Peer.TransportTreeNode> genTransportTree()
public String printTransportTree()
public void registerBaseOverlay(TransportIdPath transIdPath)
public boolean unregisterBaseOverlay(TransportIdPath transIdPath)
public Set<TransportIdPath> getBaseOverlays()
public void registerRPCObject(ObjectId objId, RPCIf obj) throws IdConflictException
public void execute(Runnable receiveTask) throws RejectedExecutionException
public void concatPeerId2ThreadName()
Copyright © 2017. All rights reserved.