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, long initialTime, Logger logger)
           
 
Method Summary
protected  void fetchNextEvent()
          Fetch the next log entry, or set the EOF flag
 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)
           
protected  void send(Identifier target, java.nio.ByteBuffer message, int relevantLen)
          Called by the state machine when it wants to send a message
 
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,
                long initialTime,
                Logger logger)
         throws java.io.IOException
Throws:
java.io.IOException
Method Detail

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

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

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.