Rice Pastry API

org.mpisws.p2p.transport.peerreview
Class Verifier<Identifier>

java.lang.Object
  extended by org.mpisws.p2p.transport.peerreview.Verifier<Identifier>
All Implemented Interfaces:
PeerReviewEvents
Direct Known Subclasses:
ReplayLayer

public abstract class Verifier<Identifier>
extends java.lang.Object
implements PeerReviewEvents


Field Summary
protected  HashProvider hashProv
           
protected  SecureHistory history
           
protected  Identifier localHandle
           
protected  Logger logger
           
protected  IdentifierSerializer<Identifier> serializer
           
 
Fields inherited from interface org.mpisws.p2p.transport.peerreview.PeerReviewEvents
EVT_ACK, EVT_CHECKPOINT, EVT_INIT, 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_WRITE
 
Constructor Summary
Verifier(IdentifierSerializer<Identifier> serializer, HashProvider hashProv, SecureHistory history, Identifier localHandle, short signatureSizeBytes, short hashSizeBytes, int firstEntryToReplay, Logger logger)
           
 
Method Summary
protected  void fetchNextEvent()
          Fetch the next log entry, or set the EOF flag
 IndexEntry getNextEvent()
           
 long getNextEventTime()
           
 boolean makeProgress()
          This is called by the Audit protocol to make another replay step; it returns true if further calls are necessary, and false if the replay has finished.
protected abstract  void receive(Identifier from, java.nio.ByteBuffer msg, long timeToDeliver)
           
 void registerEvent(EventCallback callback, short... eventType)
          This binds specific event types to one of the handlers
 void registerEvent(EventCallback callback, short eventType)
           
protected  void send(Identifier target, java.nio.ByteBuffer message, int relevantLen)
          Called by the state machine when it wants to send a message
 boolean verifiedOK()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

localHandle

protected Identifier localHandle

history

protected SecureHistory history

logger

protected Logger logger

serializer

protected IdentifierSerializer<Identifier> serializer

hashProv

protected HashProvider hashProv
Constructor Detail

Verifier

public Verifier(IdentifierSerializer<Identifier> serializer,
                HashProvider hashProv,
                SecureHistory history,
                Identifier localHandle,
                short signatureSizeBytes,
                short hashSizeBytes,
                int firstEntryToReplay,
                Logger logger)
         throws java.io.IOException
Throws:
java.io.IOException
Method Detail

verifiedOK

public boolean verifiedOK()

getNextEvent

public IndexEntry getNextEvent()

receive

protected abstract void receive(Identifier from,
                                java.nio.ByteBuffer msg,
                                long timeToDeliver)

fetchNextEvent

protected void fetchNextEvent()
                       throws java.io.IOException
Fetch the next log entry, or set the EOF flag

Throws:
java.io.IOException

send

protected void send(Identifier target,
                    java.nio.ByteBuffer message,
                    int relevantLen)
             throws java.io.IOException
Called by the state machine when it wants to send a message

Throws:
java.io.IOException

registerEvent

public void registerEvent(EventCallback callback,
                          short... eventType)
This binds specific event types to one of the handlers


registerEvent

public void registerEvent(EventCallback callback,
                          short eventType)

makeProgress

public boolean makeProgress()
                     throws java.io.IOException
This is called by the Audit protocol to make another replay step; it returns true if further calls are necessary, and false if the replay has finished. The idea is that we can stop calling this if there is more important work to do, e.g. handle foreground requests

Throws:
java.io.IOException

getNextEventTime

public long getNextEventTime()

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.