Rice Pastry API

org.mpisws.p2p.transport.peerreview.commitment
Interface CommitmentProtocol<Handle extends RawSerializable,Identifier extends RawSerializable>

All Superinterfaces:
StatusChangeListener<Identifier>, StatusConstants
All Known Implementing Classes:
CommitmentProtocolImpl

public interface CommitmentProtocol<Handle extends RawSerializable,Identifier extends RawSerializable>
extends StatusChangeListener<Identifier>

This protocol attaches signatures to outgoing messages and acknowledges incoming messages. It also has transmit and receive queues where messages can be held while acknowledgments are pending, and it can retransmit messages a few times when an acknowledgment is not received.


Field Summary
 
Fields inherited from interface org.mpisws.p2p.transport.peerreview.StatusConstants
STATUS_EXPOSED, STATUS_SUSPECTED, STATUS_TRUSTED
 
Method Summary
 void handleIncomingAck(Handle source, AckMessage<Identifier> ackMessage, java.util.Map<java.lang.String,java.lang.Object> options)
           
 void handleIncomingMessage(Handle source, UserDataMessage<Handle> msg, java.util.Map<java.lang.String,java.lang.Object> options)
           
 MessageRequestHandle<Handle,java.nio.ByteBuffer> handleOutgoingMessage(Handle target, java.nio.ByteBuffer message, MessageCallback<Handle,java.nio.ByteBuffer> deliverAckToMe, java.util.Map<java.lang.String,java.lang.Object> options)
           
 Tuple<AckMessage<Identifier>,java.lang.Boolean> logMessageIfNew(UserDataMessage<Handle> udm)
           
 void notifyCertificateAvailable(Identifier id)
           
 void setTimeToleranceMillis(long timeToleranceMicros)
           
 
Methods inherited from interface org.mpisws.p2p.transport.peerreview.infostore.StatusChangeListener
notifyStatusChange
 

Method Detail

handleOutgoingMessage

MessageRequestHandle<Handle,java.nio.ByteBuffer> handleOutgoingMessage(Handle target,
                                                                       java.nio.ByteBuffer message,
                                                                       MessageCallback<Handle,java.nio.ByteBuffer> deliverAckToMe,
                                                                       java.util.Map<java.lang.String,java.lang.Object> options)

handleIncomingAck

void handleIncomingAck(Handle source,
                       AckMessage<Identifier> ackMessage,
                       java.util.Map<java.lang.String,java.lang.Object> options)
                       throws java.io.IOException
Throws:
java.io.IOException

handleIncomingMessage

void handleIncomingMessage(Handle source,
                           UserDataMessage<Handle> msg,
                           java.util.Map<java.lang.String,java.lang.Object> options)
                           throws java.io.IOException
Throws:
java.io.IOException

notifyCertificateAvailable

void notifyCertificateAvailable(Identifier id)

logMessageIfNew

Tuple<AckMessage<Identifier>,java.lang.Boolean> logMessageIfNew(UserDataMessage<Handle> udm)

setTimeToleranceMillis

void setTimeToleranceMillis(long timeToleranceMicros)

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.


Imprint-Dataprotection