Rice Pastry API

org.mpisws.p2p.transport.peerreview.commitment
Class CommitmentProtocolImpl<Handle extends RawSerializable,Identifier extends RawSerializable>

java.lang.Object
  extended by org.mpisws.p2p.transport.peerreview.commitment.CommitmentProtocolImpl<Handle,Identifier>
All Implemented Interfaces:
CommitmentProtocol<Handle,Identifier>, PeerReviewConstants

public class CommitmentProtocolImpl<Handle extends RawSerializable,Identifier extends RawSerializable>
extends java.lang.Object
implements CommitmentProtocol<Handle,Identifier>, PeerReviewConstants


Field Summary
 int INITIAL_TIMEOUT_MICROS
           
 int MAX_ENTRIES_PER_MS
           
 int MAX_PEERS
           
 int MAX_RETRANSMISSIONS
           
 int PROGRESS_INTERVAL_MICROS
           
 int RECEIVE_CACHE_SIZE
           
 int RETRANSMIT_TIMEOUT_MICROS
           
 int TI_PROGRESS
           
 
Fields inherited from interface org.mpisws.p2p.transport.peerreview.PeerReviewConstants
CHAL_AUDIT, CHAL_SEND, EVT_ACK, EVT_CHECKPOINT, EVT_INIT, EVT_MAX_SOCKET_EVT, EVT_MIN_SOCKET_EVT, EVT_RECV, EVT_SEND, EVT_SENDSIGN, EVT_SIGN, EVT_SOCKET_CAN_READ, EVT_SOCKET_CAN_RW, EVT_SOCKET_CAN_WRITE, EVT_SOCKET_CLOSE, EVT_SOCKET_CLOSED, EVT_SOCKET_EXCEPTION, EVT_SOCKET_OPEN_INCOMING, EVT_SOCKET_OPEN_OUTGOING, EVT_SOCKET_OPENED_OUTGOING, EVT_SOCKET_READ, EVT_SOCKET_SHUTDOWN_OUTPUT, EVT_SOCKET_WRITE, EX_TYPE_ClosedChannel, EX_TYPE_IO, EX_TYPE_Unknown, MSG_ACCUSATION, MSG_ACK, MSG_AUTHPUSH, MSG_AUTHREQ, MSG_AUTHRESP, MSG_CHALLENGE, MSG_RESPONSE, MSG_USERDATA, MSG_USERDGRAM, PROOF_INCONSISTENT, PROOF_NONCONFORMANT
 
Constructor Summary
CommitmentProtocolImpl(PeerReview<Handle,Identifier> peerreview, IdentityTransport<Handle,Identifier> transport, HashProvider hasher, PeerInfoStore<Handle,Identifier> infoStore, AuthenticatorStore<Identifier> authStore, SecureHistory history, PeerReviewCallback app, Misbehavior<Identifier> misbehavior, long timeToleranceMillis)
           
 
Method Summary
 Tuple<AckMessage<Identifier>,java.lang.Boolean> logMessageIfNew(UserDataMessage<Handle> udm)
          Checks whether an incoming message is already in the log (which can happen with duplicates).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAX_PEERS

public int MAX_PEERS

INITIAL_TIMEOUT_MICROS

public int INITIAL_TIMEOUT_MICROS

RETRANSMIT_TIMEOUT_MICROS

public int RETRANSMIT_TIMEOUT_MICROS

RECEIVE_CACHE_SIZE

public int RECEIVE_CACHE_SIZE

MAX_RETRANSMISSIONS

public int MAX_RETRANSMISSIONS

TI_PROGRESS

public int TI_PROGRESS

PROGRESS_INTERVAL_MICROS

public int PROGRESS_INTERVAL_MICROS

MAX_ENTRIES_PER_MS

public int MAX_ENTRIES_PER_MS
Constructor Detail

CommitmentProtocolImpl

public CommitmentProtocolImpl(PeerReview<Handle,Identifier> peerreview,
                              IdentityTransport<Handle,Identifier> transport,
                              HashProvider hasher,
                              PeerInfoStore<Handle,Identifier> infoStore,
                              AuthenticatorStore<Identifier> authStore,
                              SecureHistory history,
                              PeerReviewCallback app,
                              Misbehavior<Identifier> misbehavior,
                              long timeToleranceMillis)
                       throws java.io.IOException
Throws:
java.io.IOException
Method Detail

logMessageIfNew

public Tuple<AckMessage<Identifier>,java.lang.Boolean> logMessageIfNew(UserDataMessage<Handle> udm)
                                                                                        throws java.io.IOException,
                                                                                               java.security.SignatureException
Checks whether an incoming message is already in the log (which can happen with duplicates). If not, it adds the message to the log.

Returns:
The ack message and whether it was already logged.
Throws:
java.security.SignatureException
java.io.IOException

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.