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.history
Class SecureHistoryFactoryImpl

    java.lang.Object
      org.mpisws.p2p.transport.peerreview.history.SecureHistoryFactoryImpl

All Implemented Interfaces:
  IndexEntryFactory, SecureHistoryFactory, PeerReviewConstants, StatusConstants

    public class SecureHistoryFactoryImpl

extends java.lang.Object
implements SecureHistoryFactory, IndexEntryFactory, PeerReviewConstants

Field Summary

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
`SecureHistoryFactoryImpl(HashProvider hashProv, Environment env)`

Method Summary
`IndexEntry` | `build(InputBuffer buf)`
`SecureHistory` | `create(java.lang.String name, long baseSeq, byte[] baseHash)` Creates a new history (aka log).
`SecureHistory` | `createTemp(long baseSeq, byte[] baseHash)`
`int` | `getSerializedSize()`
`protected SecureHistoryImpl` | `makeSecureHistory(RandomAccessFileIOBuffer indexFile, RandomAccessFileIOBuffer dataFile, boolean readOnly, HashProvider hashProv, IndexEntryFactory indexFactory, Logger logger)`
`SecureHistory` | `open(java.lang.String name, java.lang.String mode)` Opens an existing history (aka log).

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

Constructor Detail

### SecureHistoryFactoryImpl

    public SecureHistoryFactoryImpl(HashProvider hashProv,
                                    Environment env)

Method Detail

### create

    public SecureHistory create(java.lang.String name,
                                long baseSeq,
                                byte[] baseHash)
                         throws java.io.IOException

  Creates a new history (aka log). Histories are stored as two files: The 'index' file has a fixed-size record for each entry, which contains the sequence number, content and node hashes, as well as an index into the data file. The 'data' file just contains the raw bytes for each entry. Note that the caller must specify the node hash and the sequence number of the first log entry, which forms the base of the hash chain.

  Specified by:
    `create` in interface `SecureHistoryFactory`
  Throws:
    `java.io.IOException`

### makeSecureHistory

    protected SecureHistoryImpl makeSecureHistory(RandomAccessFileIOBuffer indexFile,
                                                  RandomAccessFileIOBuffer dataFile,
                                                  boolean readOnly,
                                                  HashProvider hashProv,
                                                  IndexEntryFactory indexFactory,
                                                  Logger logger)
                                           throws java.io.IOException

  Throws:
    `java.io.IOException`

### open

    public SecureHistory open(java.lang.String name,
                              java.lang.String mode)
                       throws java.io.IOException

  Opens an existing history (aka log). The 'mode' can either be 'r' (read-only) or 'w' (read/write).

  Specified by:
    `open` in interface `SecureHistoryFactory`
  Throws:
    `java.io.IOException`

### build

    public IndexEntry build(InputBuffer buf)
                     throws java.io.IOException

  Specified by:
    `build` in interface `IndexEntryFactory`
  Throws:
    `java.io.IOException`

### getSerializedSize

    public int getSerializedSize()

  Specified by:
    `getSerializedSize` in interface `IndexEntryFactory`

### createTemp

    public SecureHistory createTemp(long baseSeq,
                                    byte[] baseHash)
                             throws java.io.IOException

  Specified by:
    `createTemp` in interface `SecureHistoryFactory`
  Throws:
    `java.io.IOException`

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.