public class CompoundOverlay<D extends Destination,K extends Key> extends OverlayImpl<D,K> implements OverlayListener<D,K>
| 修飾子とタイプ | クラスと説明 |
|---|---|
static class |
CompoundOverlay.PayloadOption |
static class |
CompoundOverlay.SpecialKey
複合オーバーレイのgateway機能のためにセットする特殊key
|
isJoined, keyRegisterNONdefaultAppId, isActive, isBaseTransport, listenersByUpper, lowerTrans, peerId, transId, transIdPath, uppersDEFAULT_APP_ID| コンストラクタと説明 |
|---|
CompoundOverlay(Peer peer,
List<TransportIdPath> overlays) |
CompoundOverlay(Peer peer,
TransportId transId,
List<TransportIdPath> overlays) |
| 修飾子とタイプ | メソッドと説明 |
|---|---|
boolean |
addKey(ObjectId upper,
K key)
指定されたkeyをオーバレイに登録する。
|
void |
fin()
Finalize the Transport object.
|
Endpoint |
getEndpoint()
Returns the local endpoint of the Transport.
|
List<TransportIdPath> |
getSpecifiedOverlays()
このCompoundOverlayの生成時に指定されたOverlayを探し出すためのTransportIdPathのリストを返す。
|
boolean |
join(Collection<? extends Endpoint> seeds)
引数で指定されたseedのリストをseedピアとして、Overlayをjoinする。
|
boolean |
leave()
Overlayを不活性化(leave)する。
|
void |
onReceive(Overlay<D,K> ov,
OverlayReceivedMessage<K> msg) |
void |
onReceive(RequestTransport<D> trans,
ReceivedMessage rmsg) |
void |
onReceive(Transport<D> trans,
ReceivedMessage rmsg)
Transportオブジェクトがメッセージを受信した際に呼び出されるメソッド。
|
FutureQueue<?> |
onReceiveRequest(Overlay<D,K> trans,
OverlayReceivedMessage<K> rmsg) |
FutureQueue<?> |
onReceiveRequest(RequestTransport<D> trans,
ReceivedMessage rmsg) |
boolean |
removeKey(ObjectId upper,
K key)
指定されたkeyをオーバレイから登録削除する。
|
FutureQueue<?> |
request(ObjectId sender,
ObjectId receiver,
D dst,
Object msg,
TransOptions opts)
Send a request message.
|
FutureQueue<?> |
request0(ObjectId sender,
ObjectId receiver,
List<TransportIdPath> nextOvs,
D dst,
Object msg,
TransOptions opts) |
void |
send(ObjectId sender,
ObjectId receiver,
D dst,
Object msg)
Send a message from a local object to a remote object.
|
void |
setGateway(boolean isOn)
複合オーバーレイのgateway機能をセットする。
|
addKey, getAvailableKeyType, getKeys, getKeys, getListener, isJoined, join, lowerAddKey, lowerRemoveKey, registerKey, removeKey, request, request, request, request, request, request, request, request, request, request, selectOnReceive, send, send, send, send, setListener, singletonFutureQueue, singletonFutureQueue, toString0, unregisterKeycheckAndClearIsEasySend, getListener0, request, request, request, request, request, request, request, request, request, request, selectOnReceive, sendcheckActive, getBaseTransport, getDefaultAppId, getListener, getLowerTransport, getLowerTransports, getMTU, getPeer, getPeerId, getTransportId, getTransportIdPath, getUppers, hasStableLocator, isUp, send, send, send, send, send, send, setBaseTransport, setDefaultAppId, setListener, setListener, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitrequest, request, request, request, request, request, request, request, request, requestgetBaseTransport, getListener, getLowerTransport, getLowerTransports, getMTU, getPeer, getPeerId, getTransportId, getTransportIdPath, hasStableLocator, isUp, send, send, send, send, send, send, send, setListener, setListenerpublic CompoundOverlay(Peer peer, List<TransportIdPath> overlays) throws IdConflictException, IOException
public CompoundOverlay(Peer peer, TransportId transId, List<TransportIdPath> overlays) throws IdConflictException, IOException
public void fin()
Transportfin インタフェース内 Transport<D extends Destination>fin クラス内 TransportImpl<D extends Destination>public List<TransportIdPath> getSpecifiedOverlays()
public Endpoint getEndpoint()
TransportgetEndpoint インタフェース内 Transport<D extends Destination>public void setGateway(boolean isOn)
isOn - gateway機能をonする場合はtruepublic boolean addKey(ObjectId upper, K key) throws IOException
Overlay同一key が複数回登録される場合は、 key がすでにオーバレイに登録されていても、false は返らない。
null を key として登録することはできない。 引数に nullを指定した場合は、IllegalArgumentException が発生する。 引数が、実装クラスにとって適切な型でない場合は、 ClassCastException が発生する。 また、実装クラスがこのメソッドをサポートしない場合は、 UnsupportedOperationException が発生する。 実装クラス特有の例外が発生した場合は、IOExceptionのサブクラスとなる例外が発生する。
addKey インタフェース内 Overlay<D extends Destination,K extends Key>addKey クラス内 OverlayImpl<D extends Destination,K extends Key>upper - このオーバーレイを利用するエンティティのObjectIdkey - オーバレイに登録するkeyIOException - 実装クラス特有の例外が発生した場合public boolean removeKey(ObjectId upper, K key) throws IOException
Overlaykey がオーバレイに登録されていない場合は、falseが返る。 同一key が複数回登録される場合は、 addKey された回数と同じ回数だけremoveKeyが呼ばれないとkeyは削除されない。
null を key として指定することはできない。 引数に nullを指定した場合は、IllegalArgumentException が発生する。 引数が、実装クラスにとって適切な型でない場合は、 ClassCastException が発生する。 また、実装クラスがこのメソッドをサポートしない場合は、 UnsupportedOperationException が発生する。 実装クラス特有の例外が発生した場合は、IOExceptionのサブクラスとなる例外が発生する。
removeKey インタフェース内 Overlay<D extends Destination,K extends Key>removeKey クラス内 OverlayImpl<D extends Destination,K extends Key>upper - このオーバーレイを利用するエンティティのObjectIdkey - オーバレイから登録削除するkeyIOException - 実装クラス特有の例外が発生した場合public void send(ObjectId sender, ObjectId receiver, D dst, Object msg) throws ProtocolUnsupportedException, IOException
Transportreceiver on
the peer with destination dst.
This type of send is used when the sender and the receiver have different ObjectId, which means
upper layer exchanges the message using Transport.send インタフェース内 Transport<D extends Destination>send クラス内 RequestTransportImpl<D extends Destination>sender - The ObjectId of the sender.receiver - The ObjectId of the receiver.dst - The Destination of the peer.msg - The message itself.ProtocolUnsupportedException - Raises if the 'dst' peer does not handle the protocol.IOException - Raises if I/O-related exceptions occured.public FutureQueue<?> request(ObjectId sender, ObjectId receiver, D dst, Object msg, TransOptions opts) throws ProtocolUnsupportedException, IOException
RequestTransportrequest インタフェース内 RequestTransport<D extends Destination>sender - the object ID of the sender.receiver - the object ID of the receiver.dst - the destination.msg - the request message.opts - the options.ProtocolUnsupportedException - thrown when the protocol is not supported.IOException - thrown when an I/O error occurs.public FutureQueue<?> request0(ObjectId sender, ObjectId receiver, List<TransportIdPath> nextOvs, D dst, Object msg, TransOptions opts) throws ProtocolUnsupportedException, IOException
public void onReceive(Overlay<D,K> ov, OverlayReceivedMessage<K> msg)
onReceive インタフェース内 OverlayListener<D extends Destination,K extends Key>public FutureQueue<?> onReceiveRequest(Overlay<D,K> trans, OverlayReceivedMessage<K> rmsg)
onReceiveRequest インタフェース内 OverlayListener<D extends Destination,K extends Key>public boolean join(Collection<? extends Endpoint> seeds) throws IOException
OverlayOverlayがすでにjoinな状態の場合は、joinは実行されずに、falseが返る。
join インタフェース内 Overlay<D extends Destination,K extends Key>join クラス内 OverlayImpl<D extends Destination,K extends Key>seeds - seedピアのリストIOException - join時に例外が発生した時public boolean leave()
throws IOException
Overlayleave インタフェース内 Overlay<D extends Destination,K extends Key>leave クラス内 OverlayImpl<D extends Destination,K extends Key>IOException - I/Oエラーが発生した場合public void onReceive(Transport<D> trans, ReceivedMessage rmsg)
TransportListeneronReceive インタフェース内 OverlayListener<D extends Destination,K extends Key>onReceive インタフェース内 TransportListener<D extends Destination>trans - Transportオブジェクトrmsg - ReceivedMessageオブジェクトpublic void onReceive(RequestTransport<D> trans, ReceivedMessage rmsg)
public FutureQueue<?> onReceiveRequest(RequestTransport<D> trans, ReceivedMessage rmsg)
Copyright © 2017. All rights reserved.