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.statement
Class StatementProtocolImpl<Handle extends RawSerializable,Identifier extends RawSerializable>

    java.lang.Object
      org.mpisws.p2p.transport.peerreview.statement.StatementProtocolImpl<Handle,Identifier>

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

    public class StatementProtocolImpl<Handle extends RawSerializable,Identifier extends RawSerializable>

extends java.lang.Object
implements StatementProtocol<Handle,Identifier>

Field Summary
`protected ChallengeResponseProtocol<Handle,Identifier>` | `challengeProtocol`
`protected java.util.Map<Identifier,java.util.LinkedList<IncompleteStatementInfo<Handle,Identifier>>>` | `incompleteStatement`
`protected PeerInfoStore<Handle,Identifier>` | `infoStore`
`protected Logger` | `logger`
`protected PeerReview<Handle,Identifier>` | `peerreview`
`protected boolean` | `progressTimerActive`
`protected IdentityTransport<Handle,Identifier>` | `transport`

Fields inherited from interface org.mpisws.p2p.transport.peerreview.statement.StatementProtocol
`MAX_INCOMPLETE_STATEMENTS, PROGRESS_INTERVAL_MICROS, STATEMENT_COMPLETION_TIMEOUT_MILLIS, TI_MAKE_PROGRESS`

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_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
`StatementProtocolImpl(PeerReview<Handle,Identifier> peerreview, ChallengeResponseProtocol<Handle,Identifier> challengeProtocol, PeerInfoStore<Handle,Identifier> infoStore, IdentityTransport<Handle,Identifier> transport)`

Method Summary
`void` | `cleanupIncompleteStatements()` If a message hangs around in our queue for too long, we discard it
`void` | `handleIncomingStatement(Handle source, Statement<Identifier> statement, java.util.Map<java.lang.String,java.lang.Object> options)` Incoming ACCUSTION and RESPONSE messages come here first.
`void` | `makeProgressOnStatement(IncompleteStatementInfo<Handle,Identifier> idx)`
`void` | `notifyCertificateAvailable(Identifier id)` Called if we have received a certificate for a new nodeID.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### logger

    protected Logger logger

### incompleteStatement

    protected java.util.Map<Identifier extends RawSerializable,java.util.LinkedList<IncompleteStatementInfo<Handle extends RawSerializable,Identifier extends RawSerializable>>> incompleteStatement

### challengeProtocol

    protected ChallengeResponseProtocol<Handle extends RawSerializable,Identifier extends RawSerializable> challengeProtocol

### transport

    protected IdentityTransport<Handle extends RawSerializable,Identifier extends RawSerializable> transport

### peerreview

    protected PeerReview<Handle extends RawSerializable,Identifier extends RawSerializable> peerreview

### infoStore

    protected PeerInfoStore<Handle extends RawSerializable,Identifier extends RawSerializable> infoStore

### progressTimerActive

    protected boolean progressTimerActive

Constructor Detail

### StatementProtocolImpl

    public StatementProtocolImpl(PeerReview<Handle,Identifier> peerreview,
                                 ChallengeResponseProtocol<Handle,Identifier> challengeProtocol,
                                 PeerInfoStore<Handle,Identifier> infoStore,
                                 IdentityTransport<Handle,Identifier> transport)

Method Detail

### notifyCertificateAvailable

    public void notifyCertificateAvailable(Identifier id)

  Called if we have received a certificate for a new nodeID. If any messages in our queue were waiting for this certificate, we may be able to forward them now.

### cleanupIncompleteStatements

    public void cleanupIncompleteStatements()

  If a message hangs around in our queue for too long, we discard it

### handleIncomingStatement

    public void handleIncomingStatement(Handle source,
                                        Statement<Identifier> statement,
                                        java.util.Map<java.lang.String,java.lang.Object> options)

  Incoming ACCUSTION and RESPONSE messages come here first. We check whether we have all the necessary nodeID certificates; if not, we request them from the sender.

  Specified by:
    `handleIncomingStatement` in interface `StatementProtocol<Handle extends RawSerializable,Identifier extends RawSerializable>`

### makeProgressOnStatement

    public void makeProgressOnStatement(IncompleteStatementInfo<Handle,Identifier> idx)

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.