Rice Pastry API

org.mpisws.p2p.transport.peerreview.history
Class SecureHistoryFactoryImpl

java.lang.Object
  extended by 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

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.


Imprint-Dataprotection