Documentation ¶
Index ¶
- Variables
- func DeployedChaincodes(q Query, filter ChaincodePredicate, loadCollections bool, chaincodes ...string) (chaincode.MetadataSet, error)
- type ChaincodePredicate
- type Enumerate
- type Enumerator
- type HandleMetadataUpdate
- type LifeCycleChangeListener
- type Lifecycle
- type Query
- type QueryCreator
- type QueryCreatorFunc
- type Subscription
Constants ¶
This section is empty.
Variables ¶
var ( // Logger is the logging instance for this package. // It's exported because the tests override its backend Logger = flogging.MustGetLogger("discovery/lifecycle") )
Functions ¶
func DeployedChaincodes ¶
func DeployedChaincodes(q Query, filter ChaincodePredicate, loadCollections bool, chaincodes ...string) (chaincode.MetadataSet, error)
DeployedChaincodes retrieves the metadata of the given deployed chaincodes
Types ¶
type ChaincodePredicate ¶
ChaincodePredicate accepts or rejects chaincode based on its metadata
var ( // AcceptAll returns a predicate that accepts all Metadata AcceptAll ChaincodePredicate = func(cc chaincode.Metadata) bool { return true } )
type Enumerate ¶
type Enumerate func() ([]chaincode.InstalledChaincode, error)
Enumerate enumerates installed chaincodes
type Enumerator ¶
type Enumerator interface { // Enumerate returns the installed chaincodes Enumerate() ([]chaincode.InstalledChaincode, error) }
Enumerator enumerates chaincodes
type HandleMetadataUpdate ¶
type HandleMetadataUpdate func(channel string, chaincodes chaincode.MetadataSet)
HandleMetadataUpdate is triggered upon a change in the chaincode lifecycle change
func (HandleMetadataUpdate) LifeCycleChangeListener ¶
func (mdUpdate HandleMetadataUpdate) LifeCycleChangeListener(channel string, chaincodes chaincode.MetadataSet)
LifeCycleChangeListener runs whenever there is a change to the metadata // of a chaincode in the context of a specific channel
type LifeCycleChangeListener ¶
type LifeCycleChangeListener interface {
LifeCycleChangeListener(channel string, chaincodes chaincode.MetadataSet)
}
LifeCycleChangeListener runs whenever there is a change to the metadata of a chaincode in the context of a specific channel
type Lifecycle ¶
Lifecycle manages information regarding chaincode lifecycle
func NewLifeCycle ¶
func NewLifeCycle(installedChaincodes Enumerator) (*Lifecycle, error)
NewLifeCycle creates a new Lifecycle instance
func (*Lifecycle) AddListener ¶
func (lc *Lifecycle) AddListener(listener LifeCycleChangeListener)
AddListener registers the given listener to be triggered upon a lifecycle change
func (*Lifecycle) Metadata ¶
Metadata returns the metadata of the chaincode on the given channel, or nil if not found or an error occurred at retrieving it
func (*Lifecycle) NewChannelSubscription ¶
func (lc *Lifecycle) NewChannelSubscription(channel string, queryCreator QueryCreator) (*Subscription, error)
NewChannelSubscription subscribes to a channel
type Query ¶
type Query interface { // GetState gets the value for given namespace and key. For a chaincode, the namespace corresponds to the chaincodeId GetState(namespace string, key string) ([]byte, error) // Done releases resources occupied by the QueryExecutor Done() }
Query queries the state
type QueryCreator ¶
type QueryCreator interface { // NewQuery creates a new Query, or error on failure NewQuery() (Query, error) }
QueryCreator creates queries
type QueryCreatorFunc ¶
QueryCreatorFunc creates a new query
func (QueryCreatorFunc) NewQuery ¶
func (qc QueryCreatorFunc) NewQuery() (Query, error)
NewQuery creates a new Query, or error on failure
type Subscription ¶
Subscription channels information flow about a specific channel into the Lifecycle
func (*Subscription) ChaincodeDeployDone ¶
func (sub *Subscription) ChaincodeDeployDone(succeeded bool)
ChaincodeDeployDone gets invoked when the chaincode deploy transaction or chaincode install (the context in which the above function was invoked)
func (*Subscription) HandleChaincodeDeploy ¶
func (sub *Subscription) HandleChaincodeDeploy(chaincodeDefinition *cceventmgmt.ChaincodeDefinition, dbArtifactsTar []byte) error
HandleChaincodeDeploy is expected to be invoked when a chaincode is deployed via a deploy transaction and the chaicndoe was already installed on the peer. This also gets invoked when an already deployed chaincode is installed on the peer