Rice Pastry API

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

All Superinterfaces:
CertificateManager<Handle,Identifier>, Destructable, HashProvider, IdentityTransport<Handle,Identifier>, IdentityTransportCallback<Handle,Identifier>, PeerReviewConstants, TransportLayer<Handle,java.nio.ByteBuffer>, TransportLayerCallback<Handle,java.nio.ByteBuffer>
All Known Implementing Classes:
PeerReviewImpl

public interface PeerReview<Handle extends RawSerializable,Identifier extends RawSerializable>
extends IdentityTransportCallback<Handle,Identifier>, IdentityTransport<Handle,Identifier>, PeerReviewConstants


Field Summary
static java.lang.String DONT_COMMIT
          -> Boolean, tell peer review to not bother committing this message.
static byte PEER_REVIEW_COMMIT
           
static byte PEER_REVIEW_PASSTHROUGH
           
static java.lang.String RELEVANT_LENGTH
          Option should map to an int < 255 to record the relevant length of the message.
 
Fields inherited from interface org.mpisws.p2p.transport.peerreview.PeerReviewConstants
CHAL_AUDIT, CHAL_SEND, DEFAULT_AUTH_PUSH_INTERVAL_MICROS, DEFAULT_CHECKPOINT_INTERVAL_MICROS, DEFAULT_TIME_TOLERANCE_MICROS, 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, FLAG_FULL_MESSAGES_ALL, FLAG_FULL_MESSAGES_SENDER, FLAG_INCLUDE_CHECKPOINT, MAINTENANCE_INTERVAL_MICROS, MAX_STATUS_INFO, MSG_ACCUSATION, MSG_ACK, MSG_AUTHPUSH, MSG_AUTHREQ, MSG_AUTHRESP, MSG_CHALLENGE, MSG_RESPONSE, MSG_USERDATA, MSG_USERDGRAM, PROOF_INCONSISTENT, PROOF_NONCONFORMANT, RESP_AUDIT, RESP_SEND, STATUS_EXPOSED, STATUS_SUSPECTED, STATUS_TRUSTED, TI_AUTH_PUSH, TI_CHECKPOINT, TI_MAINTENANCE, TI_MAX_RESERVED, TI_STATUS_INFO
 
Method Summary
 boolean addAuthenticatorIfValid(AuthenticatorStore<Identifier> store, Identifier subject, Authenticator auth)
           
 void challengeSuspectedNode(Handle h)
           
 Authenticator extractAuthenticator(Identifier id, long seq, short entryType, byte[] entryHash, byte[] hTopMinusOne, byte[] signature)
           
 PeerReviewCallback<Handle,Identifier> getApp()
           
 AuthenticatorSerializer getAuthenticatorSerializer()
           
 Environment getEnvironment()
           
 long getEvidenceSeq()
           
 Serializer<Handle> getHandleSerializer()
           
 int getHashSizeInBytes()
           
 IdentifierExtractor<Handle,Identifier> getIdentifierExtractor()
           
 Serializer<Identifier> getIdSerializer()
           
 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 sendEvidenceToWitnesses(Identifier subject, long timestamp, Evidence evidence)
           
 void transmit(Handle dest, PeerReviewMessage message, MessageCallback<Handle,java.nio.ByteBuffer> deliverAckToMe, java.util.Map<java.lang.String,java.lang.Object> options)
           
 
Methods inherited from interface org.mpisws.p2p.transport.peerreview.identity.IdentityTransportCallback
notifyCertificateAvailable, statusChange
 
Methods inherited from interface org.mpisws.p2p.transport.TransportLayerCallback
incomingSocket, messageReceived
 
Methods inherited from interface org.mpisws.p2p.transport.peerreview.identity.CertificateManager
getSignatureSizeBytes, hasCertificate, requestCertificate, sign, verify
 
Methods inherited from interface org.mpisws.p2p.transport.TransportLayer
acceptMessages, acceptSockets, getLocalIdentifier, openSocket, sendMessage, setCallback, setErrorHandler
 
Methods inherited from interface rice.Destructable
destroy
 
Methods inherited from interface org.mpisws.p2p.transport.peerreview.history.HashProvider
getEmptyHash, getHashSizeBytes, hash, hash
 

Field Detail

RELEVANT_LENGTH

static final java.lang.String RELEVANT_LENGTH
Option should map to an int < 255 to record the relevant length of the message.

See Also:
Constant Field Values

DONT_COMMIT

static final java.lang.String DONT_COMMIT
-> Boolean, tell peer review to not bother committing this message. Don't sign it, log it, expect an ack

See Also:
Constant Field Values

PEER_REVIEW_PASSTHROUGH

static final byte PEER_REVIEW_PASSTHROUGH
See Also:
Constant Field Values

PEER_REVIEW_COMMIT

static final byte PEER_REVIEW_COMMIT
See Also:
Constant Field Values
Method Detail

extractAuthenticator

Authenticator extractAuthenticator(Identifier id,
                                   long seq,
                                   short entryType,
                                   byte[] entryHash,
                                   byte[] hTopMinusOne,
                                   byte[] signature)
                                   throws java.io.IOException
Throws:
java.io.IOException

addAuthenticatorIfValid

boolean addAuthenticatorIfValid(AuthenticatorStore<Identifier> store,
                                Identifier subject,
                                Authenticator auth)

getEnvironment

Environment getEnvironment()

getAuthenticatorSerializer

AuthenticatorSerializer getAuthenticatorSerializer()

getHandleSerializer

Serializer<Handle> getHandleSerializer()

getIdSerializer

Serializer<Identifier> getIdSerializer()

challengeSuspectedNode

void challengeSuspectedNode(Handle h)

transmit

void transmit(Handle dest,
              PeerReviewMessage message,
              MessageCallback<Handle,java.nio.ByteBuffer> deliverAckToMe,
              java.util.Map<java.lang.String,java.lang.Object> options)

getTime

long getTime()
Current time in millis, however, we depend on there being a timesource that is more discritized than the "wall" clock. It is only advanced on a timeout or a message receipt.

Returns:

getHashSizeInBytes

int getHashSizeInBytes()

getSignatureSizeInBytes

int getSignatureSizeInBytes()

getIdentifierExtractor

IdentifierExtractor<Handle,Identifier> getIdentifierExtractor()

getEvidenceSeq

long getEvidenceSeq()

sendEvidenceToWitnesses

void sendEvidenceToWitnesses(Identifier subject,
                             long timestamp,
                             Evidence evidence)
Parameters:
subject - the "bad" guy
timestamp -
evidence -

getApp

PeerReviewCallback<Handle,Identifier> getApp()

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.