|
Rice Pastry API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.mpisws.p2p.transport.commonapi.CommonAPITransportLayerImpl<Identifier>
public class CommonAPITransportLayerImpl<Identifier>
Field Summary |
---|
Fields inherited from interface org.mpisws.p2p.transport.liveness.LivenessListener |
---|
LIVENESS_ALIVE, LIVENESS_DEAD, LIVENESS_DEAD_FOREVER, LIVENESS_SUSPECTED |
Constructor Summary | |
---|---|
CommonAPITransportLayerImpl(TransportLayerNodeHandle localAddress,
TransportLayer<Identifier,java.nio.ByteBuffer> tl,
LivenessProvider<Identifier> livenessProvider,
ProximityProvider<Identifier> proximityProvider,
IdFactory idFactory,
NodeHandleFactory<Identifier> nodeHandleFactory,
RawMessageDeserializer deserializer,
Environment env)
|
Method Summary | |
---|---|
void |
acceptMessages(boolean b)
Toggle accepting incoming messages. |
void |
acceptSockets(boolean b)
Toggle accepting new sockets. |
void |
addLivenessListener(LivenessListener<TransportLayerNodeHandle<Identifier>> name)
|
void |
addProximityListener(ProximityListener<TransportLayerNodeHandle<Identifier>> name)
|
boolean |
checkLiveness(TransportLayerNodeHandle<Identifier> i,
java.util.Map<java.lang.String,java.lang.Integer> options)
Returns wether a new notification will occur. |
void |
destroy()
|
int |
getLiveness(TransportLayerNodeHandle<Identifier> i,
java.util.Map<java.lang.String,java.lang.Integer> options)
|
TransportLayerNodeHandle |
getLocalIdentifier()
The local node. |
void |
incomingSocket(P2PSocket<Identifier> s)
Notification of a new socket. |
void |
livenessChanged(Identifier i,
int val)
Called when the liveness changes. |
void |
messageReceived(Identifier i,
java.nio.ByteBuffer m,
java.util.Map<java.lang.String,java.lang.Integer> options)
Called when a new message is received. |
SocketRequestHandle<TransportLayerNodeHandle<Identifier>> |
openSocket(TransportLayerNodeHandle<Identifier> i,
SocketCallback<TransportLayerNodeHandle<Identifier>> deliverSocketToMe,
java.util.Map<java.lang.String,java.lang.Integer> options)
Open a socket to the Identifier |
int |
proximity(TransportLayerNodeHandle<Identifier> i)
|
void |
proximityChanged(Identifier i,
int newProx,
java.util.Map<java.lang.String,java.lang.Integer> options)
|
boolean |
removeLivenessListener(LivenessListener<TransportLayerNodeHandle<Identifier>> name)
|
boolean |
removeProximityListener(ProximityListener<TransportLayerNodeHandle<Identifier>> name)
|
MessageRequestHandle<TransportLayerNodeHandle<Identifier>,RawMessage> |
sendMessage(TransportLayerNodeHandle<Identifier> i,
RawMessage m,
MessageCallback<TransportLayerNodeHandle<Identifier>,RawMessage> deliverAckToMe,
java.util.Map<java.lang.String,java.lang.Integer> options)
Send the message to the identifier |
void |
setCallback(TransportLayerCallback<TransportLayerNodeHandle<Identifier>,RawMessage> callback)
Set the callback for incoming sockets/messages |
void |
setErrorHandler(ErrorHandler<TransportLayerNodeHandle<Identifier>> handler)
To be notified of problems not related to an outgoing messaage/socket. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public CommonAPITransportLayerImpl(TransportLayerNodeHandle localAddress, TransportLayer<Identifier,java.nio.ByteBuffer> tl, LivenessProvider<Identifier> livenessProvider, ProximityProvider<Identifier> proximityProvider, IdFactory idFactory, NodeHandleFactory<Identifier> nodeHandleFactory, RawMessageDeserializer deserializer, Environment env)
Method Detail |
---|
public void acceptMessages(boolean b)
TransportLayer
acceptMessages
in interface TransportLayer<TransportLayerNodeHandle<Identifier>,RawMessage>
public void acceptSockets(boolean b)
TransportLayer
acceptSockets
in interface TransportLayer<TransportLayerNodeHandle<Identifier>,RawMessage>
public TransportLayerNodeHandle getLocalIdentifier()
TransportLayer
getLocalIdentifier
in interface TransportLayer<TransportLayerNodeHandle<Identifier>,RawMessage>
public MessageRequestHandle<TransportLayerNodeHandle<Identifier>,RawMessage> sendMessage(TransportLayerNodeHandle<Identifier> i, RawMessage m, MessageCallback<TransportLayerNodeHandle<Identifier>,RawMessage> deliverAckToMe, java.util.Map<java.lang.String,java.lang.Integer> options)
TransportLayer
sendMessage
in interface TransportLayer<TransportLayerNodeHandle<Identifier>,RawMessage>
i
- the destinationm
- the messagedeliverAckToMe
- layer dependent notification when the message is sent (can indicate placed on the wire, point-to-point acknowledgement, or end-to-end acknowledgement)options
- delivery options (don't source route, encrypt etc) (may not be respected if layer cannot provide service)
public void messageReceived(Identifier i, java.nio.ByteBuffer m, java.util.Map<java.lang.String,java.lang.Integer> options) throws java.io.IOException
TransportLayerCallback
messageReceived
in interface TransportLayerCallback<Identifier,java.nio.ByteBuffer>
i
- The node it is coming fromm
- the messageoptions
- describe how the message arrived (udp/tcp, encrypted etc)
java.io.IOException
- if there is a problem decoding the messagepublic void setCallback(TransportLayerCallback<TransportLayerNodeHandle<Identifier>,RawMessage> callback)
TransportLayer
setCallback
in interface TransportLayer<TransportLayerNodeHandle<Identifier>,RawMessage>
callback
- the callback for incoming sockets/messagespublic void setErrorHandler(ErrorHandler<TransportLayerNodeHandle<Identifier>> handler)
TransportLayer
setErrorHandler
in interface TransportLayer<TransportLayerNodeHandle<Identifier>,RawMessage>
handler
- to be notified of problems not related to a specific messaage/socket.public void destroy()
destroy
in interface Destructable
public void addLivenessListener(LivenessListener<TransportLayerNodeHandle<Identifier>> name)
addLivenessListener
in interface LivenessProvider<TransportLayerNodeHandle<Identifier>>
public boolean removeLivenessListener(LivenessListener<TransportLayerNodeHandle<Identifier>> name)
removeLivenessListener
in interface LivenessProvider<TransportLayerNodeHandle<Identifier>>
public int getLiveness(TransportLayerNodeHandle<Identifier> i, java.util.Map<java.lang.String,java.lang.Integer> options)
getLiveness
in interface LivenessProvider<TransportLayerNodeHandle<Identifier>>
public void livenessChanged(Identifier i, int val)
LivenessListener
livenessChanged
in interface LivenessListener<Identifier>
public void addProximityListener(ProximityListener<TransportLayerNodeHandle<Identifier>> name)
addProximityListener
in interface ProximityProvider<TransportLayerNodeHandle<Identifier>>
public boolean removeProximityListener(ProximityListener<TransportLayerNodeHandle<Identifier>> name)
removeProximityListener
in interface ProximityProvider<TransportLayerNodeHandle<Identifier>>
public int proximity(TransportLayerNodeHandle<Identifier> i)
proximity
in interface ProximityProvider<TransportLayerNodeHandle<Identifier>>
public void proximityChanged(Identifier i, int newProx, java.util.Map<java.lang.String,java.lang.Integer> options)
proximityChanged
in interface ProximityListener<Identifier>
public boolean checkLiveness(TransportLayerNodeHandle<Identifier> i, java.util.Map<java.lang.String,java.lang.Integer> options)
LivenessProvider
checkLiveness
in interface LivenessProvider<TransportLayerNodeHandle<Identifier>>
i
- the node to check
public SocketRequestHandle<TransportLayerNodeHandle<Identifier>> openSocket(TransportLayerNodeHandle<Identifier> i, SocketCallback<TransportLayerNodeHandle<Identifier>> deliverSocketToMe, java.util.Map<java.lang.String,java.lang.Integer> options)
TransportLayer
openSocket
in interface TransportLayer<TransportLayerNodeHandle<Identifier>,RawMessage>
i
- who to open the socket todeliverSocketToMe
- the callback when the socket is openedoptions
- options on how to open the socket (don't source route, encrypt etc) (may not be respected if layer cannot provide service)
public void incomingSocket(P2PSocket<Identifier> s) throws java.io.IOException
TransportLayerCallback
incomingSocket
in interface TransportLayerCallback<Identifier,java.nio.ByteBuffer>
s
- the incoming socket
java.io.IOException
|
Rice Pastry API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |