fabric: github.com/hyperledger/fabric/core/cclifecycle Index | Files | Directories

package cc

import "github.com/hyperledger/fabric/core/cclifecycle"

Index

Package Files

lifecycle.go subscription.go util.go

Variables

var (
    // Logger is the logging instance for this package.
    // It's exported because the tests override its backend
    Logger = flogging.MustGetLogger("discovery.lifecycle")
)

func DeployedChaincodes Uses

func DeployedChaincodes(q Query, filter ChaincodePredicate, loadCollections bool, chaincodes ...string) (chaincode.MetadataSet, error)

DeployedChaincodes retrieves the metadata of the given deployed chaincodes

type ChaincodePredicate Uses

type ChaincodePredicate func(cc chaincode.Metadata) bool

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 Uses

type Enumerate func() ([]chaincode.InstalledChaincode, error)

Enumerate enumerates installed chaincodes

func (Enumerate) Enumerate Uses

func (listCCs Enumerate) Enumerate() ([]chaincode.InstalledChaincode, error)

Enumerate enumerates chaincodes

type Enumerator Uses

type Enumerator interface {
    // Enumerate returns the installed chaincodes
    Enumerate() ([]chaincode.InstalledChaincode, error)
}

Enumerator enumerates chaincodes

type HandleMetadataUpdate Uses

type HandleMetadataUpdate func(channel string, chaincodes chaincode.MetadataSet)

HandleMetadataUpdate is triggered upon a change in the chaincode lifecycle change

func (HandleMetadataUpdate) LifeCycleChangeListener Uses

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 Uses

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 Uses

type Lifecycle struct {
    sync.RWMutex
    // contains filtered or unexported fields
}

Lifecycle manages information regarding chaincode lifecycle

func NewLifeCycle Uses

func NewLifeCycle(installedChaincodes Enumerator) (*Lifecycle, error)

NewLifeCycle creates a new Lifecycle instance

func (*Lifecycle) AddListener Uses

func (lc *Lifecycle) AddListener(listener LifeCycleChangeListener)

AddListener registers the given listener to be triggered upon a lifecycle change

func (*Lifecycle) Metadata Uses

func (lc *Lifecycle) Metadata(channel string, cc string, collections bool) *chaincode.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 Uses

func (lc *Lifecycle) NewChannelSubscription(channel string, queryCreator QueryCreator) (*Subscription, error)

NewChannelSubscription subscribes to a channel

type Query Uses

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 Uses

type QueryCreator interface {
    // NewQuery creates a new Query, or error on failure
    NewQuery() (Query, error)
}

QueryCreator creates queries

type QueryCreatorFunc Uses

type QueryCreatorFunc func() (Query, error)

QueryCreatorFunc creates a new query

func (QueryCreatorFunc) NewQuery Uses

func (qc QueryCreatorFunc) NewQuery() (Query, error)

NewQuery creates a new Query, or error on failure

type Subscription Uses

type Subscription struct {
    sync.Mutex
    // contains filtered or unexported fields
}

Subscription channels information flow about a specific channel into the Lifecycle

func (*Subscription) ChaincodeDeployDone Uses

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 Uses

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

Directories

PathSynopsis
mocksCode generated by mockery v1.0.0.

Package cc imports 9 packages (graph) and is imported by 2 packages. Updated 2019-03-18. Refresh now. Tools for package owners.