|
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.peerreview.PeerReviewImpl<Handle,Identifier>
Handle
- (Usually a NodeHandle)Identifier
- (Permanent Identifier), can get an Identifier from a Handlepublic class PeerReviewImpl<Handle,Identifier>
Constructor Summary | |
---|---|
PeerReviewImpl(TransportLayer<Handle,java.nio.ByteBuffer> tl,
Environment env,
Serializer<Handle> handleSerializer,
Serializer<Identifier> idSerializer,
IdentifierExtractor<Handle,Identifier> identifierExtractor,
AuthenticatorSerializer authenticatorSerialilzer)
|
Method Summary | |
---|---|
void |
acceptMessages(boolean b)
Toggle accepting incoming messages. |
void |
acceptSockets(boolean b)
Toggle accepting new sockets. |
void |
destroy()
|
AuthenticatorSerializer |
getAuthenticatorSerializer()
|
Environment |
getEnvironment()
|
Serializer<Handle> |
getHandleSerializer()
|
int |
getHashSizeInBytes()
|
IdentifierExtractor<Handle,Identifier> |
getIdentifierExtractor()
|
Serializer<Identifier> |
getIdSerializer()
|
Handle |
getLocalIdentifier()
The local node. |
int |
getSignatureSizeInBytes()
|
long |
getTime()
Current time in millis, however, we depend on there being a timesource that is more discritized than the "wall" clock. |
void |
incomingSocket(P2PSocket<Handle> s)
Notification of a new socket. |
void |
messageReceived(Handle i,
java.nio.ByteBuffer m,
java.util.Map<java.lang.String,java.lang.Object> options)
Called when a new message is received. |
SocketRequestHandle<Handle> |
openSocket(Handle i,
SocketCallback<Handle> deliverSocketToMe,
java.util.Map<java.lang.String,java.lang.Object> options)
Open a socket to the Identifier |
protected void |
sendEvidenceToWitnesses(Identifier subject,
long evidenceSeq,
ProofInconsistent evidence)
Called internally by other classes if they have found evidence against one of our peers. |
MessageRequestHandle<Handle,java.nio.ByteBuffer> |
sendMessage(Handle i,
java.nio.ByteBuffer m,
MessageCallback<Handle,java.nio.ByteBuffer> deliverAckToMe,
java.util.Map<java.lang.String,java.lang.Object> options)
Send the message to the identifier |
void |
setCallback(TransportLayerCallback<Handle,java.nio.ByteBuffer> callback)
Set the callback for incoming sockets/messages |
void |
setErrorHandler(ErrorHandler<Handle> 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 PeerReviewImpl(TransportLayer<Handle,java.nio.ByteBuffer> tl, Environment env, Serializer<Handle> handleSerializer, Serializer<Identifier> idSerializer, IdentifierExtractor<Handle,Identifier> identifierExtractor, AuthenticatorSerializer authenticatorSerialilzer)
Method Detail |
---|
public SocketRequestHandle<Handle> openSocket(Handle i, SocketCallback<Handle> deliverSocketToMe, java.util.Map<java.lang.String,java.lang.Object> options)
TransportLayer
openSocket
in interface TransportLayer<Handle,java.nio.ByteBuffer>
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<Handle> s) throws java.io.IOException
TransportLayerCallback
incomingSocket
in interface TransportLayerCallback<Handle,java.nio.ByteBuffer>
s
- the incoming socket
java.io.IOException
public MessageRequestHandle<Handle,java.nio.ByteBuffer> sendMessage(Handle i, java.nio.ByteBuffer m, MessageCallback<Handle,java.nio.ByteBuffer> deliverAckToMe, java.util.Map<java.lang.String,java.lang.Object> options)
TransportLayer
sendMessage
in interface TransportLayer<Handle,java.nio.ByteBuffer>
i
- the destinationm
- the messagedeliverAckToMe
- layer dependent notification when the message is sent (can indicate placed on the wire, point-to-point acknowledgment, 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(Handle i, java.nio.ByteBuffer m, java.util.Map<java.lang.String,java.lang.Object> options) throws java.io.IOException
TransportLayerCallback
messageReceived
in interface TransportLayerCallback<Handle,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 acceptMessages(boolean b)
TransportLayer
acceptMessages
in interface TransportLayer<Handle,java.nio.ByteBuffer>
public void acceptSockets(boolean b)
TransportLayer
acceptSockets
in interface TransportLayer<Handle,java.nio.ByteBuffer>
public Handle getLocalIdentifier()
TransportLayer
getLocalIdentifier
in interface TransportLayer<Handle,java.nio.ByteBuffer>
public void setCallback(TransportLayerCallback<Handle,java.nio.ByteBuffer> callback)
TransportLayer
setCallback
in interface TransportLayer<Handle,java.nio.ByteBuffer>
callback
- the callback for incoming sockets/messagespublic void setErrorHandler(ErrorHandler<Handle> handler)
TransportLayer
setErrorHandler
in interface TransportLayer<Handle,java.nio.ByteBuffer>
handler
- to be notified of problems not related to a specific messaage/socket.public void destroy()
destroy
in interface Destructable
public AuthenticatorSerializer getAuthenticatorSerializer()
getAuthenticatorSerializer
in interface PeerReview<Handle,Identifier>
public Environment getEnvironment()
getEnvironment
in interface PeerReview<Handle,Identifier>
public Serializer<Identifier> getIdSerializer()
getIdSerializer
in interface PeerReview<Handle,Identifier>
public long getTime()
PeerReview
getTime
in interface PeerReview<Handle,Identifier>
protected void sendEvidenceToWitnesses(Identifier subject, long evidenceSeq, ProofInconsistent evidence)
public Serializer<Handle> getHandleSerializer()
getHandleSerializer
in interface PeerReview<Handle,Identifier>
public int getHashSizeInBytes()
getHashSizeInBytes
in interface PeerReview<Handle,Identifier>
public int getSignatureSizeInBytes()
getSignatureSizeInBytes
in interface PeerReview<Handle,Identifier>
public IdentifierExtractor<Handle,Identifier> getIdentifierExtractor()
getIdentifierExtractor
in interface PeerReview<Handle,Identifier>
|
Rice Pastry API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |