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,java.nio.ByteBuffer>, 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,java.nio.ByteBuffer>, IdentityTransport<Handle,Identifier>, PeerReviewConstants


Field Summary
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, 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, STATUS_EXPOSED, STATUS_SUSPECTED, STATUS_TRUSTED, TI_AUTH_PUSH, TI_CHECKPOINT, TI_MAINTENANCE, TI_MAX_RESERVED, TI_STATUS_INFO
 
Method Summary
 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)
           
 MessageRequestHandle<Handle,PeerReviewMessage> transmit(Handle dest, boolean b, PeerReviewMessage message, MessageCallback<Handle,PeerReviewMessage> deliverAckToMe)
           
 
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
hasCertificate, requestCertificate, sign, signatureSizeInBytes, 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
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

getEnvironment

Environment getEnvironment()

getAuthenticatorSerializer

AuthenticatorSerializer getAuthenticatorSerializer()

getHandleSerializer

Serializer<Handle> getHandleSerializer()

getIdSerializer

Serializer<Identifier> getIdSerializer()

challengeSuspectedNode

void challengeSuspectedNode(Handle h)

transmit

MessageRequestHandle<Handle,PeerReviewMessage> transmit(Handle dest,
                                                        boolean b,
                                                        PeerReviewMessage message,
                                                        MessageCallback<Handle,PeerReviewMessage> deliverAckToMe)

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.