Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Rice Pastry API
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

    java.lang.Object
      org.mpisws.p2p.transport.peerreview.audit.AuditProtocolImpl<Handle,Identifier>

All Implemented Interfaces:
  AuditProtocol<Handle,Identifier>, PeerReviewConstants, StatusConstants

    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_CHOOSE_Q, EVT_CHOOSE_RAND, EVT_INIT, EVT_MAX_RESERVED, 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, EVT_VRF, 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, NO_CERTIFICATE, PROGRESS_INTERVAL_MILLIS, PROOF_INCONSISTENT, PROOF_NONCONFORMANT, RESP_AUDIT, RESP_SEND, SIGNATURE_BAD, SIGNATURE_OK, STATE_SEND_AUDIT, STATE_WAIT_FOR_LOG, TI_AUTH_PUSH, TI_CHECKPOINT, TI_MAINTENANCE, TI_MAKE_PROGRESS, TI_MAX_RESERVED, TI_START_AUDITS, TI_STATUS_INFO, VALID`

Fields inherited from interface org.mpisws.p2p.transport.peerreview.StatusConstants
`STATUS_EXPOSED, STATUS_SUSPECTED, STATUS_TRUSTED`

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)`
`void` | `handleIncomingDatagram(Handle handle, PeerReviewMessage message)`
`void` | `investigate(Handle target, long since)` Start an investigation since is in millis
`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.
`protected void` | `scheduleProgressTimer()`
`protected void` | `sendInvestigation(ActiveInvestigationInfo<Handle> investigation)` Starts an investigation by sending authenticator requests to all the witnesses.
`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()

### scheduleProgressTimer

    protected void scheduleProgressTimer()

### 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)
                              throws java.io.IOException

  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>`
  Throws:
    `java.io.IOException`

### 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>`

### handleIncomingDatagram

    public void handleIncomingDatagram(Handle handle,
                                       PeerReviewMessage message)

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

### sendInvestigation

    protected void sendInvestigation(ActiveInvestigationInfo<Handle> investigation)

  Starts an investigation by sending authenticator requests to all the witnesses. Most of them are (hopefully) going to respond; we're going to pick the authenticators that work best for us.

### investigate

    public void investigate(Handle target,
                            long since)

  Start an investigation since is in millis

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Rice Pastry API
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2005 - Rice Pastry.