Rice Pastry API

org.mpisws.p2p.transport.peerreview.audit
Class AuditProtocolImpl<Handle extends RawSerializable,Identifier extends RawSerializable>

java.lang.Object
  extended by org.mpisws.p2p.transport.peerreview.audit.AuditProtocolImpl<Handle,Identifier>
All Implemented Interfaces:
AuditProtocol<Handle,Identifier>, PeerReviewConstants

public class AuditProtocolImpl<Handle extends RawSerializable,Identifier extends RawSerializable>
extends java.lang.Object
implements AuditProtocol<Handle,Identifier>


Field Summary
protected  TimerTask auditTimer
          Null if there is no current timer.
protected  TimerTask progressTimer
           
 
Fields inherited from interface org.mpisws.p2p.transport.peerreview.PeerReviewConstants
AUTH_CACHE_INTERVAL, CERT_MISSING, CHAL_AUDIT, CHAL_SEND, DEFAULT_AUDIT_INTERVAL_MILLIS, DEFAULT_AUTH_PUSH_INTERVAL_MILLIS, DEFAULT_CHECKPOINT_INTERVAL_MILLIS, DEFAULT_LOG_DOWNLOAD_TIMEOUT, DEFAULT_TIME_TOLERANCE_MILLIS, 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, INVALID, INVESTIGATION_INTERVAL_MILLIS, MAINTENANCE_INTERVAL_MILLIS, MAX_ACTIVE_AUDITS, MAX_ACTIVE_INVESTIGATIONS, MAX_ENTRIES_BETWEEN_CHECKPOINTS, MAX_STATUS_INFO, MAX_WITNESSED_NODES, MSG_ACCUSATION, MSG_ACK, MSG_AUTHPUSH, MSG_AUTHREQ, MSG_AUTHRESP, MSG_CHALLENGE, MSG_RESPONSE, MSG_USERDATA, MSG_USERDGRAM, PROGRESS_INTERVAL_MILLIS, PROOF_INCONSISTENT, PROOF_NONCONFORMANT, RESP_AUDIT, RESP_SEND, STATE_SEND_AUDIT, STATE_WAIT_FOR_LOG, STATUS_EXPOSED, STATUS_SUSPECTED, STATUS_TRUSTED, TI_AUTH_PUSH, TI_CHECKPOINT, TI_MAINTENANCE, TI_MAKE_PROGRESS, TI_MAX_RESERVED, TI_START_AUDITS, TI_STATUS_INFO, VALID
 
Constructor Summary
AuditProtocolImpl(PeerReview<Handle,Identifier> peerreview, SecureHistory history, PeerInfoStore<Handle,Identifier> infoStore, AuthenticatorStore<Identifier> authInStore, IdentityTransport<Handle,Identifier> transport, AuthenticatorStore<Identifier> authOutStore, EvidenceTransferProtocol<Handle,Identifier> evidenceTransferProtocol, AuthenticatorStore<Identifier> authCacheStore)
           
 
Method Summary
protected  void auditsTimerExpired()
          A periodic timer to audit all nodes for which we are a witness
 void disableReplay()
           
 ActiveAuditInfo<Handle,Identifier> findOngoingAudit(Identifier subject, long evidenceSeq)
           
protected  void makeProgressTimerExpired()
          While some audits haven't finished, we must call makeProgress() regularly
 void processAuditResponse(Identifier subject, long timestamp, AuditResponse<Handle> response)
          Called by the challenge/response protocol if we have received a response to an AUDIT challenge.
 void setLogDownloadTimeout(int timeoutMicros)
           
 void startAudits()
           
protected  void startAuditTimer()
           
 Evidence statOngoingAudit(Identifier subject, long evidenceSeq)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

auditTimer

protected TimerTask auditTimer
Null if there is no current timer.


progressTimer

protected TimerTask progressTimer
Constructor Detail

AuditProtocolImpl

public AuditProtocolImpl(PeerReview<Handle,Identifier> peerreview,
                         SecureHistory history,
                         PeerInfoStore<Handle,Identifier> infoStore,
                         AuthenticatorStore<Identifier> authInStore,
                         IdentityTransport<Handle,Identifier> transport,
                         AuthenticatorStore<Identifier> authOutStore,
                         EvidenceTransferProtocol<Handle,Identifier> evidenceTransferProtocol,
                         AuthenticatorStore<Identifier> authCacheStore)
Method Detail

setLogDownloadTimeout

public void setLogDownloadTimeout(int timeoutMicros)

disableReplay

public void disableReplay()

startAudits

public void startAudits()

auditsTimerExpired

protected void auditsTimerExpired()
A periodic timer to audit all nodes for which we are a witness


startAuditTimer

protected void startAuditTimer()

makeProgressTimerExpired

protected void makeProgressTimerExpired()
While some audits haven't finished, we must call makeProgress() regularly


processAuditResponse

public void processAuditResponse(Identifier subject,
                                 long timestamp,
                                 AuditResponse<Handle> response)
Called by the challenge/response protocol if we have received a response to an AUDIT challenge. At this point, we already know that we have all the necessary certificates (because of the statement protocol).

Specified by:
processAuditResponse in interface AuditProtocol<Handle extends RawSerializable,Identifier extends RawSerializable>

findOngoingAudit

public ActiveAuditInfo<Handle,Identifier> findOngoingAudit(Identifier subject,
                                                           long evidenceSeq)

statOngoingAudit

public Evidence statOngoingAudit(Identifier subject,
                                 long evidenceSeq)
Specified by:
statOngoingAudit in interface AuditProtocol<Handle extends RawSerializable,Identifier extends RawSerializable>

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.