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

package container

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

Index

Package Files

build_registry.go container.go

type BuildRegistry Uses

type BuildRegistry struct {
    // contains filtered or unexported fields
}

func (*BuildRegistry) BuildStatus Uses

func (br *BuildRegistry) BuildStatus(ccid string) (*BuildStatus, bool)

BuildStatus returns a BuildStatus for the ccid, and whether the caller is waiting in line (true), or this build status is new and their responsibility. If the build status is new, then the caller must call Notify with the error (or nil) upon completion.

type BuildStatus Uses

type BuildStatus struct {
    // contains filtered or unexported fields
}

func NewBuildStatus Uses

func NewBuildStatus() *BuildStatus

func (*BuildStatus) Done Uses

func (bs *BuildStatus) Done() <-chan struct{}

func (*BuildStatus) Err Uses

func (bs *BuildStatus) Err() error

func (*BuildStatus) Notify Uses

func (bs *BuildStatus) Notify(err error)

type DockerBuilder Uses

type DockerBuilder interface {
    Build(ccid string, metadata *persistence.ChaincodePackageMetadata, codePackageStream io.Reader) (Instance, error)
}

DockerBuilder is what is exposed by the dockercontroller

type ExternalBuilder Uses

type ExternalBuilder interface {
    Build(ccid string, metadata []byte, codePackageStream io.Reader) (Instance, error)
}

ExternalBuilder is what is exposed by the dockercontroller

type Instance Uses

type Instance interface {
    Start(peerConnection *ccintf.PeerConnection) error
    ChaincodeServerInfo() (*ccintf.ChaincodeServerInfo, error)
    Stop() error
    Wait() (int, error)
}

Instance represents a built chaincode instance, because of the docker legacy, calling this a built 'container' would be very misleading, and going forward with the external launcher 'image' also seemed inappropriate. So, the vague 'Instance' is used here.

type PackageProvider Uses

type PackageProvider interface {
    GetChaincodePackage(packageID string) (md *persistence.ChaincodePackageMetadata, mdBytes []byte, codeStream io.ReadCloser, err error)
}

PackageProvider gets chaincode packages from the filesystem.

type Router Uses

type Router struct {
    ExternalBuilder ExternalBuilder
    DockerBuilder   DockerBuilder

    PackageProvider PackageProvider
    // contains filtered or unexported fields
}

func (*Router) Build Uses

func (r *Router) Build(ccid string) error

func (*Router) ChaincodeServerInfo Uses

func (r *Router) ChaincodeServerInfo(ccid string) (*ccintf.ChaincodeServerInfo, error)

func (*Router) Start Uses

func (r *Router) Start(ccid string, peerConnection *ccintf.PeerConnection) error

func (*Router) Stop Uses

func (r *Router) Stop(ccid string) error

func (*Router) Wait Uses

func (r *Router) Wait(ccid string) (int, error)

type UninitializedInstance Uses

type UninitializedInstance struct{}

func (UninitializedInstance) ChaincodeServerInfo Uses

func (UninitializedInstance) ChaincodeServerInfo() (*ccintf.ChaincodeServerInfo, error)

func (UninitializedInstance) Start Uses

func (UninitializedInstance) Start(peerConnection *ccintf.PeerConnection) error

func (UninitializedInstance) Stop Uses

func (UninitializedInstance) Stop() error

func (UninitializedInstance) Wait Uses

func (UninitializedInstance) Wait() (int, error)

Directories

PathSynopsis
ccintf
dockercontroller
dockercontroller/mockCode generated by counterfeiter.
externalbuilder
mockCode generated by counterfeiter.

Package container imports 6 packages (graph) and is imported by 115 packages. Updated 2020-01-28. Refresh now. Tools for package owners.