Rice Pastry API

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

All Superinterfaces:
StatusChangeListener<Identifier>
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.


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)
           
 
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)

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.