Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateNextBlock ¶
CreateNextBlock provides a utility way to construct the next block from contents and metadata for a given ledger XXX This will need to be modified to accept marshaled envelopes
to accommodate non-deterministic marshaling
Types ¶
type Factory ¶
type Factory interface { // GetOrCreate gets an existing ledger (if it exists) // or creates it if it does not GetOrCreate(chainID string) (ReadWriter, error) // ChainIDs returns the chain IDs the Factory is aware of ChainIDs() []string // Close releases all resources acquired by the factory Close() }
Factory retrieves or creates new ledgers by chainID
type Iterator ¶
type Iterator interface { // Next blocks until there is a new block available, or returns an error if // the next block is no longer retrievable Next() (*cb.Block, cb.Status) // ReadyChan supplies a channel which will block until Next will not block ReadyChan() <-chan struct{} // Close releases resources acquired by the Iterator Close() }
Iterator is useful for a chain Reader to stream blocks as they are created
type NotFoundErrorIterator ¶
type NotFoundErrorIterator struct{}
NotFoundErrorIterator simply always returns an error of cb.Status_NOT_FOUND, and is generally useful for implementations of the Reader interface
func (*NotFoundErrorIterator) Next ¶
func (nfei *NotFoundErrorIterator) Next() (*cb.Block, cb.Status)
Next returns nil, cb.Status_NOT_FOUND
func (*NotFoundErrorIterator) ReadyChan ¶
func (nfei *NotFoundErrorIterator) ReadyChan() <-chan struct{}
ReadyChan returns a closed channel
type ReadWriter ¶
ReadWriter encapsulates the read/write functions of the ledger
type Reader ¶
type Reader interface { // Iterator returns an Iterator, as specified by an ab.SeekInfo message, and // its starting block number Iterator(startType *ab.SeekPosition) (Iterator, uint64) // Height returns the number of blocks on the ledger Height() uint64 }
Reader allows the caller to inspect the ledger
Click to show internal directories.
Click to hide internal directories.