Documentation ¶
Index ¶
- Variables
- type Initializer
- type LedgerMgr
- func (m *LedgerMgr) Close()
- func (m *LedgerMgr) CreateLedger(id string, genesisBlock *common.Block) (ledger.PeerLedger, error)
- func (m *LedgerMgr) CreateLedgerFromSnapshot(snapshotDir string, channelCallback func(ledger.PeerLedger, string)) error
- func (m *LedgerMgr) GetLedgerIDs() ([]string, error)
- func (m *LedgerMgr) JoinBySnapshotStatus() *pb.JoinBySnapshotStatus
- func (m *LedgerMgr) OpenLedger(id string) (ledger.PeerLedger, error)
- type MetadataProvider
Constants ¶
This section is empty.
Variables ¶
var ErrLedgerAlreadyOpened = errors.New("ledger already opened")
ErrLedgerAlreadyOpened is thrown by a CreateLedger call if a ledger with the given id is already opened
var ErrLedgerMgmtNotInitialized = errors.New("ledger mgmt should be initialized before using")
ErrLedgerMgmtNotInitialized is thrown when ledger mgmt is used before initializing this
Functions ¶
This section is empty.
Types ¶
type Initializer ¶
type Initializer struct { CustomTxProcessors map[common.HeaderType]ledger.CustomTxProcessor StateListeners []ledger.StateListener DeployedChaincodeInfoProvider ledger.DeployedChaincodeInfoProvider MembershipInfoProvider ledger.MembershipInfoProvider ChaincodeLifecycleEventProvider ledger.ChaincodeLifecycleEventProvider MetricsProvider metrics.Provider HealthCheckRegistry ledger.HealthCheckRegistry Config *ledger.Config HashProvider ledger.HashProvider EbMetadataProvider MetadataProvider }
Initializer encapsulates all the external dependencies for the ledger module
type LedgerMgr ¶
type LedgerMgr struct {
// contains filtered or unexported fields
}
LedgerMgr manages ledgers for all channels
func NewLedgerMgr ¶
func NewLedgerMgr(initializer *Initializer) *LedgerMgr
NewLedgerMgr creates a new LedgerMgr
func (*LedgerMgr) Close ¶
func (m *LedgerMgr) Close()
Close closes all the opened ledgers and any resources held for ledger management
func (*LedgerMgr) CreateLedger ¶
CreateLedger creates a new ledger with the given genesis block. This function guarantees that the creation of ledger and committing the genesis block would an atomic action. The channel id retrieved from the genesis block is treated as a ledger id. It returns an error if another ledger is being created from a snapshot.
func (*LedgerMgr) CreateLedgerFromSnapshot ¶
func (m *LedgerMgr) CreateLedgerFromSnapshot(snapshotDir string, channelCallback func(ledger.PeerLedger, string)) error
CreateLedgerFromSnapshot creates a new ledger with the given snapshot and executes the callback function after the ledger is created. This function launches to goroutine to create the ledger and call the callback func. All ledger dbs would be created in an atomic action. The channel id retrieved from the snapshot metadata is treated as a ledger id. It returns an error if another ledger is being created from a snapshot.
func (*LedgerMgr) GetLedgerIDs ¶
GetLedgerIDs returns the ids of the ledgers created
func (*LedgerMgr) JoinBySnapshotStatus ¶
func (m *LedgerMgr) JoinBySnapshotStatus() *pb.JoinBySnapshotStatus
JoinBySnapshotStatus returns the status of joinbysnapshot which includes ledger creation and channel callback.
func (*LedgerMgr) OpenLedger ¶
func (m *LedgerMgr) OpenLedger(id string) (ledger.PeerLedger, error)
OpenLedger returns a ledger for the given id