Documentation ¶
Overview ¶
Note, the directory is still configvalues, but this is stuttery and config is a more accurate and better name, TODO, update directory
Index ¶
- Constants
- func DefaultBlockDataHashingStructure() *cb.ConfigGroup
- func DefaultHashingAlgorithm() *cb.ConfigGroup
- func DefaultOrdererAddresses() *cb.ConfigGroup
- func NewStandardValues(protosStructs ...interface{}) (*standardValues, error)
- func TemplateAnchorPeers(orgID string, anchorPeers []*pb.AnchorPeer) *cb.ConfigGroup
- func TemplateBatchSize(batchSize *ab.BatchSize) *cb.ConfigGroup
- func TemplateBatchTimeout(batchTimeout string) *cb.ConfigGroup
- func TemplateBlockDataHashingStructure(width uint32) *cb.ConfigGroup
- func TemplateChannelRestrictions(maxChannels uint64) *cb.ConfigGroup
- func TemplateConsensusType(typeValue string) *cb.ConfigGroup
- func TemplateConsortium(name string) *cb.ConfigGroup
- func TemplateConsortiumChannelCreationPolicy(name string, policy *cb.Policy) *cb.ConfigGroup
- func TemplateConsortiumsGroup() *cb.ConfigGroup
- func TemplateHashingAlgorithm(name string) *cb.ConfigGroup
- func TemplateKafkaBrokers(brokers []string) *cb.ConfigGroup
- func TemplateOrdererAddresses(addresses []string) *cb.ConfigGroup
- type Application
- type ApplicationConfig
- type ApplicationGroup
- type ApplicationOrg
- type ApplicationOrgConfig
- type ApplicationOrgGroup
- type ApplicationOrgProtos
- type Channel
- type ChannelConfig
- func (cc *ChannelConfig) BlockDataHashingStructureWidth() uint32
- func (cc *ChannelConfig) ConsortiumName() string
- func (sv ChannelConfig) Deserialize(key string, value []byte) (proto.Message, error)
- func (cc *ChannelConfig) HashingAlgorithm() func(input []byte) []byte
- func (cc *ChannelConfig) OrdererAddresses() []string
- func (cc *ChannelConfig) Validate(tx interface{}, groups map[string]ValueProposer) error
- type ChannelGroup
- func (cg *ChannelGroup) Allocate() Values
- func (cg *ChannelGroup) ApplicationConfig() *ApplicationGroup
- func (cg *ChannelGroup) ConsortiumsConfig() *ConsortiumsGroup
- func (sv ChannelGroup) Deserialize(key string, value []byte) (proto.Message, error)
- func (cg *ChannelGroup) NewGroup(group string) (ValueProposer, error)
- func (cg *ChannelGroup) OrdererConfig() *OrdererGroup
- type ChannelProtos
- type ChannelValues
- type Consortium
- type ConsortiumConfig
- func (cc *ConsortiumConfig) ChannelCreationPolicy() *cb.Policy
- func (cc *ConsortiumConfig) Commit()
- func (sv ConsortiumConfig) Deserialize(key string, value []byte) (proto.Message, error)
- func (cc *ConsortiumConfig) Organizations() map[string]*OrganizationGroup
- func (cc *ConsortiumConfig) Validate(tx interface{}, groups map[string]ValueProposer) error
- type ConsortiumGroup
- func (cg *ConsortiumGroup) Allocate() Values
- func (cg *ConsortiumGroup) BeginValueProposals(tx interface{}, groups []string) (ValueDeserializer, []ValueProposer, error)
- func (cg *ConsortiumGroup) CommitProposals(tx interface{})
- func (sv ConsortiumGroup) Deserialize(key string, value []byte) (proto.Message, error)
- func (cg *ConsortiumGroup) NewGroup(name string) (ValueProposer, error)
- func (cg *ConsortiumGroup) PreCommit(tx interface{}) error
- func (cg *ConsortiumGroup) RollbackProposals(tx interface{})
- type ConsortiumProtos
- type Consortiums
- type ConsortiumsConfig
- type ConsortiumsGroup
- type Handler
- type Orderer
- type OrdererConfig
- func (oc *OrdererConfig) BatchSize() *ab.BatchSize
- func (oc *OrdererConfig) BatchTimeout() time.Duration
- func (oc *OrdererConfig) Commit()
- func (oc *OrdererConfig) ConsensusType() string
- func (sv OrdererConfig) Deserialize(key string, value []byte) (proto.Message, error)
- func (oc *OrdererConfig) KafkaBrokers() []string
- func (oc *OrdererConfig) MaxChannelsCount() uint64
- func (oc *OrdererConfig) Organizations() map[string]Org
- func (oc *OrdererConfig) Validate(tx interface{}, groups map[string]ValueProposer) error
- type OrdererGroup
- type OrdererProtos
- type Org
- type OrganizationConfig
- type OrganizationGroup
- type OrganizationProtos
- type Proposer
- type Root
- func (r *Root) Application() *ApplicationGroup
- func (r *Root) BeginValueProposals(tx interface{}, groups []string) (ValueDeserializer, []ValueProposer, error)
- func (r *Root) Channel() *ChannelGroup
- func (r *Root) CommitProposals(tx interface{})
- func (r *Root) Consortiums() *ConsortiumsGroup
- func (r *Root) Orderer() *OrdererGroup
- func (r *Root) PreCommit(tx interface{}) error
- func (r *Root) RollbackProposals(tx interface{})
- type ValueDeserializer
- type ValueProposer
- type Values
Constants ¶
const ( // ConsortiumKey is the key for the cb.ConfigValue for the Consortium message ConsortiumKey = "Consortium" // HashingAlgorithmKey is the cb.ConfigItem type key name for the HashingAlgorithm message HashingAlgorithmKey = "HashingAlgorithm" // BlockDataHashingStructureKey is the cb.ConfigItem type key name for the BlockDataHashingStructure message BlockDataHashingStructureKey = "BlockDataHashingStructure" // OrdererAddressesKey is the cb.ConfigItem type key name for the OrdererAddresses message OrdererAddressesKey = "OrdererAddresses" // GroupKey is the name of the channel group ChannelGroupKey = "Channel" )
Channel config keys
const ( // ConsensusTypeKey is the cb.ConfigItem type key name for the ConsensusType message ConsensusTypeKey = "ConsensusType" // BatchSizeKey is the cb.ConfigItem type key name for the BatchSize message BatchSizeKey = "BatchSize" // BatchTimeoutKey is the cb.ConfigItem type key name for the BatchTimeout message BatchTimeoutKey = "BatchTimeout" // ChannelRestrictions is the key name for the ChannelRestrictions message ChannelRestrictionsKey = "ChannelRestrictions" // KafkaBrokersKey is the cb.ConfigItem type key name for the KafkaBrokers message KafkaBrokersKey = "KafkaBrokers" )
const (
// AnchorPeersKey is the key name for the AnchorPeers ConfigValue
AnchorPeersKey = "AnchorPeers"
)
Application org config keys
const (
// ApplicationGroupKey is the group name for the Application config
ApplicationGroupKey = "Application"
)
const (
// ChannelCreationPolicyKey is the key for the ChannelCreationPolicy value
ChannelCreationPolicyKey = "ChannelCreationPolicy"
)
const (
// ConsortiumsGroupKey is the group name for the consortiums config
ConsortiumsGroupKey = "Consortiums"
)
const (
// MSPKey is value key for marshaled *mspconfig.MSPConfig
MSPKey = "MSP"
)
Org config keys
const (
// OrdererGroupKey is the group name for the orderer config
OrdererGroupKey = "Orderer"
)
Variables ¶
This section is empty.
Functions ¶
func DefaultBlockDataHashingStructure ¶
func DefaultBlockDataHashingStructure() *cb.ConfigGroup
DefaultBlockDatahashingStructure creates a headerless config item for the default block data hashing structure
func DefaultHashingAlgorithm ¶
func DefaultHashingAlgorithm() *cb.ConfigGroup
DefaultHashingAlgorithm creates a headerless config item for the default hashing algorithm
func DefaultOrdererAddresses ¶
func DefaultOrdererAddresses() *cb.ConfigGroup
DefaultOrdererAddresses creates a headerless config item for the default orderer addresses
func NewStandardValues ¶
func NewStandardValues(protosStructs ...interface{}) (*standardValues, error)
NewStandardValues accepts a structure which must contain only protobuf message types. The structure may embed other (non-pointer) structures which satisfy the same condition. NewStandard values will instantiate memory for all the proto messages and build a lookup map from structure field name to proto message instance This is a useful way to easily implement the Values interface
func TemplateAnchorPeers ¶
func TemplateAnchorPeers(orgID string, anchorPeers []*pb.AnchorPeer) *cb.ConfigGroup
TemplateAnchorPeers creates a headerless config item representing the anchor peers
func TemplateBatchSize ¶
func TemplateBatchSize(batchSize *ab.BatchSize) *cb.ConfigGroup
TemplateBatchSize creates a headerless config item representing the batch size
func TemplateBatchTimeout ¶
func TemplateBatchTimeout(batchTimeout string) *cb.ConfigGroup
TemplateBatchTimeout creates a headerless config item representing the batch timeout
func TemplateBlockDataHashingStructure ¶
func TemplateBlockDataHashingStructure(width uint32) *cb.ConfigGroup
TemplateBlockDataHashingStructure creates a headerless config item representing the block data hashing structure
func TemplateChannelRestrictions ¶
func TemplateChannelRestrictions(maxChannels uint64) *cb.ConfigGroup
TemplateChannelRestrictions creates a config group with ChannelRestrictions specified
func TemplateConsensusType ¶
func TemplateConsensusType(typeValue string) *cb.ConfigGroup
TemplateConsensusType creates a headerless config item representing the consensus type
func TemplateConsortium ¶
func TemplateConsortium(name string) *cb.ConfigGroup
TemplateConsortiumName creates a ConfigGroup representing the ConsortiumName
func TemplateConsortiumChannelCreationPolicy ¶
func TemplateConsortiumChannelCreationPolicy(name string, policy *cb.Policy) *cb.ConfigGroup
TemplateConsortiumChannelCreationPolicy sets the ChannelCreationPolicy for a given consortium
func TemplateConsortiumsGroup ¶
func TemplateConsortiumsGroup() *cb.ConfigGroup
TemplateConsortiumsGroup creates an empty consortiums group
func TemplateHashingAlgorithm ¶
func TemplateHashingAlgorithm(name string) *cb.ConfigGroup
TemplateHashingAlgorithm creates a ConfigGroup representing the HashingAlgorithm
func TemplateKafkaBrokers ¶
func TemplateKafkaBrokers(brokers []string) *cb.ConfigGroup
TemplateKafkaBrokers creates a headerless config item representing the kafka brokers
func TemplateOrdererAddresses ¶
func TemplateOrdererAddresses(addresses []string) *cb.ConfigGroup
TemplateOrdererAddressess creates a headerless config item representing the orderer addresses
Types ¶
type Application ¶
type Application interface { // Organizations returns a map of org ID to ApplicationOrg Organizations() map[string]ApplicationOrg }
Application stores the common shared application config
type ApplicationConfig ¶
type ApplicationConfig struct {
// contains filtered or unexported fields
}
func NewApplicationConfig ¶
func NewApplicationConfig(ag *ApplicationGroup) *ApplicationConfig
func (*ApplicationConfig) Commit ¶
func (ac *ApplicationConfig) Commit()
func (ApplicationConfig) Deserialize ¶
Deserialize looks up the backing Values proto of the given name, unmarshals the given bytes to populate the backing message structure, and returns a referenced to the retained deserialized message (or an error, either because the key did not exist, or there was an an error unmarshaling
func (*ApplicationConfig) Organizations ¶
func (ac *ApplicationConfig) Organizations() map[string]ApplicationOrg
Organizations returns a map of org ID to ApplicationOrg
func (*ApplicationConfig) Validate ¶
func (ac *ApplicationConfig) Validate(tx interface{}, groups map[string]ValueProposer) error
type ApplicationGroup ¶
type ApplicationGroup struct { *Proposer *ApplicationConfig // contains filtered or unexported fields }
ApplicationGroup represents the application config group
func NewApplicationGroup ¶
func NewApplicationGroup(mspConfig *msp.MSPConfigHandler) *ApplicationGroup
NewSharedConfigImpl creates a new SharedConfigImpl with the given CryptoHelper
func (*ApplicationGroup) Allocate ¶
func (ag *ApplicationGroup) Allocate() Values
Allocate returns a new instance of the ApplicationConfig
func (ApplicationGroup) Deserialize ¶
Deserialize looks up the backing Values proto of the given name, unmarshals the given bytes to populate the backing message structure, and returns a referenced to the retained deserialized message (or an error, either because the key did not exist, or there was an an error unmarshaling
func (*ApplicationGroup) NewGroup ¶
func (ag *ApplicationGroup) NewGroup(name string) (ValueProposer, error)
type ApplicationOrg ¶
type ApplicationOrg interface { Org // AnchorPeers returns the list of gossip anchor peers AnchorPeers() []*pb.AnchorPeer }
ApplicationOrg stores the per org application config
type ApplicationOrgConfig ¶
type ApplicationOrgConfig struct { *OrganizationConfig // contains filtered or unexported fields }
func NewApplicationOrgConfig ¶
func NewApplicationOrgConfig(aog *ApplicationOrgGroup) *ApplicationOrgConfig
func (*ApplicationOrgConfig) AnchorPeers ¶
func (aog *ApplicationOrgConfig) AnchorPeers() []*pb.AnchorPeer
AnchorPeers returns the list of valid orderer addresses to connect to to invoke Broadcast/Deliver
func (*ApplicationOrgConfig) Commit ¶
func (aoc *ApplicationOrgConfig) Commit()
func (ApplicationOrgConfig) Deserialize ¶
Deserialize looks up the backing Values proto of the given name, unmarshals the given bytes to populate the backing message structure, and returns a referenced to the retained deserialized message (or an error, either because the key did not exist, or there was an an error unmarshaling
func (*ApplicationOrgConfig) Validate ¶
func (aoc *ApplicationOrgConfig) Validate(tx interface{}, groups map[string]ValueProposer) error
type ApplicationOrgGroup ¶
type ApplicationOrgGroup struct { *Proposer *OrganizationGroup *ApplicationOrgConfig }
ApplicationOrgGroup defines the configuration for an application org
func NewApplicationOrgGroup ¶
func NewApplicationOrgGroup(id string, mspConfig *mspconfig.MSPConfigHandler) *ApplicationOrgGroup
NewApplicationOrgGroup creates a new ApplicationOrgGroup
func (*ApplicationOrgGroup) Allocate ¶
func (aog *ApplicationOrgGroup) Allocate() Values
type ApplicationOrgProtos ¶
type ApplicationOrgProtos struct {
AnchorPeers *pb.AnchorPeers
}
type Channel ¶
type Channel interface { // HashingAlgorithm returns the default algorithm to be used when hashing // such as computing block hashes, and CreationPolicy digests HashingAlgorithm() func(input []byte) []byte // BlockDataHashingStructureWidth returns the width to use when constructing the // Merkle tree to compute the BlockData hash BlockDataHashingStructureWidth() uint32 // OrdererAddresses returns the list of valid orderer addresses to connect to to invoke Broadcast/Deliver OrdererAddresses() []string }
Channel gives read only access to the channel configuration
type ChannelConfig ¶
type ChannelConfig struct {
// contains filtered or unexported fields
}
ChannelConfig stores the channel configuration
func NewChannelConfig ¶
func NewChannelConfig() *ChannelConfig
NewChannelConfig creates a new ChannelConfig
func (*ChannelConfig) BlockDataHashingStructureWidth ¶
func (cc *ChannelConfig) BlockDataHashingStructureWidth() uint32
BlockDataHashingStructure returns the width to use when forming the block data hashing structure
func (*ChannelConfig) ConsortiumName ¶
func (cc *ChannelConfig) ConsortiumName() string
ConsortiumName returns the name of the consortium this channel was created under
func (ChannelConfig) Deserialize ¶
Deserialize looks up the backing Values proto of the given name, unmarshals the given bytes to populate the backing message structure, and returns a referenced to the retained deserialized message (or an error, either because the key did not exist, or there was an an error unmarshaling
func (*ChannelConfig) HashingAlgorithm ¶
func (cc *ChannelConfig) HashingAlgorithm() func(input []byte) []byte
HashingAlgorithm returns a function pointer to the chain hashing algorihtm
func (*ChannelConfig) OrdererAddresses ¶
func (cc *ChannelConfig) OrdererAddresses() []string
OrdererAddresses returns the list of valid orderer addresses to connect to to invoke Broadcast/Deliver
func (*ChannelConfig) Validate ¶
func (cc *ChannelConfig) Validate(tx interface{}, groups map[string]ValueProposer) error
Validate inspects the generated configuration protos, ensures that the values are correct, and sets the ChannelConfig fields that may be referenced after Commit
type ChannelGroup ¶
type ChannelGroup struct { *ChannelConfig *Proposer // contains filtered or unexported fields }
ChannelGroup
func NewChannelGroup ¶
func NewChannelGroup(mspConfigHandler *msp.MSPConfigHandler) *ChannelGroup
func (*ChannelGroup) Allocate ¶
func (cg *ChannelGroup) Allocate() Values
Allocate creates new config resources for a pending config update
func (*ChannelGroup) ApplicationConfig ¶
func (cg *ChannelGroup) ApplicationConfig() *ApplicationGroup
ApplicationConfig returns the application config associated with this channel
func (*ChannelGroup) ConsortiumsConfig ¶
func (cg *ChannelGroup) ConsortiumsConfig() *ConsortiumsGroup
ConsortiumsConfig returns the consortium config associated with this channel if it exists
func (ChannelGroup) Deserialize ¶
Deserialize looks up the backing Values proto of the given name, unmarshals the given bytes to populate the backing message structure, and returns a referenced to the retained deserialized message (or an error, either because the key did not exist, or there was an an error unmarshaling
func (*ChannelGroup) NewGroup ¶
func (cg *ChannelGroup) NewGroup(group string) (ValueProposer, error)
NewGroup instantiates either a new application or orderer config
func (*ChannelGroup) OrdererConfig ¶
func (cg *ChannelGroup) OrdererConfig() *OrdererGroup
OrdererConfig returns the orderer config associated with this channel
type ChannelProtos ¶
type ChannelProtos struct { HashingAlgorithm *cb.HashingAlgorithm BlockDataHashingStructure *cb.BlockDataHashingStructure OrdererAddresses *cb.OrdererAddresses Consortium *cb.Consortium }
ChannelProtos is where the proposed configuration is unmarshaled into
type ChannelValues ¶
type ChannelValues interface { // HashingAlgorithm returns the default algorithm to be used when hashing // such as computing block hashes, and CreationPolicy digests HashingAlgorithm() func(input []byte) []byte // BlockDataHashingStructureWidth returns the width to use when constructing the // Merkle tree to compute the BlockData hash BlockDataHashingStructureWidth() uint32 // OrdererAddresses returns the list of valid orderer addresses to connect to to invoke Broadcast/Deliver OrdererAddresses() []string }
ChannelValues gives read only access to the channel configuration
type Consortium ¶
type Consortium interface { // ChannelCreationPolicy returns the policy to check when instantiating a channel for this consortium ChannelCreationPolicy() *cb.Policy }
Consortium represents a group of orgs which may create channels together
type ConsortiumConfig ¶
type ConsortiumConfig struct {
// contains filtered or unexported fields
}
ConsortiumConfig holds the consoritums configuration information
func NewConsortiumConfig ¶
func NewConsortiumConfig(cg *ConsortiumGroup) *ConsortiumConfig
NewConsortiumConfig creates a new instance of the consoritums config
func (*ConsortiumConfig) ChannelCreationPolicy ¶
func (cc *ConsortiumConfig) ChannelCreationPolicy() *cb.Policy
CreationPolicy returns the policy structure used to validate the channel creation
func (*ConsortiumConfig) Commit ¶
func (cc *ConsortiumConfig) Commit()
Commit commits the ConsortiumConfig
func (ConsortiumConfig) Deserialize ¶
Deserialize looks up the backing Values proto of the given name, unmarshals the given bytes to populate the backing message structure, and returns a referenced to the retained deserialized message (or an error, either because the key did not exist, or there was an an error unmarshaling
func (*ConsortiumConfig) Organizations ¶
func (cc *ConsortiumConfig) Organizations() map[string]*OrganizationGroup
Organizations returns the set of organizations in the consortium
func (*ConsortiumConfig) Validate ¶
func (cc *ConsortiumConfig) Validate(tx interface{}, groups map[string]ValueProposer) error
Validate builds the Consortium map
type ConsortiumGroup ¶
type ConsortiumGroup struct { *Proposer *ConsortiumConfig // contains filtered or unexported fields }
ConsortiumGroup stores the set of Consortium
func NewConsortiumGroup ¶
func NewConsortiumGroup(mspConfig *msp.MSPConfigHandler) *ConsortiumGroup
NewConsortiumGroup creates a new *ConsortiumGroup
func (*ConsortiumGroup) Allocate ¶
func (cg *ConsortiumGroup) Allocate() Values
Allocate returns the resources for a new config proposal
func (*ConsortiumGroup) BeginValueProposals ¶
func (cg *ConsortiumGroup) BeginValueProposals(tx interface{}, groups []string) (ValueDeserializer, []ValueProposer, error)
BeginValueProposals calls through to Proposer after calling into the MSP config Handler
func (*ConsortiumGroup) CommitProposals ¶
func (cg *ConsortiumGroup) CommitProposals(tx interface{})
CommitProposals intercepts the commit request and commits the MSP config handler before calling the underlying proposer
func (ConsortiumGroup) Deserialize ¶
Deserialize looks up the backing Values proto of the given name, unmarshals the given bytes to populate the backing message structure, and returns a referenced to the retained deserialized message (or an error, either because the key did not exist, or there was an an error unmarshaling
func (*ConsortiumGroup) NewGroup ¶
func (cg *ConsortiumGroup) NewGroup(name string) (ValueProposer, error)
NewGroup returns a Consortium instance
func (*ConsortiumGroup) PreCommit ¶
func (cg *ConsortiumGroup) PreCommit(tx interface{}) error
PreCommit intercepts the precommit request and commits the MSP config handler before calling the underlying proposer
func (*ConsortiumGroup) RollbackProposals ¶
func (cg *ConsortiumGroup) RollbackProposals(tx interface{})
RollbackProposals intercepts the rollback request and commits the MSP config handler before calling the underlying proposer
type ConsortiumProtos ¶
ConsortiumProtos holds the config protos for the consortium config
type Consortiums ¶
type Consortiums interface { // Consortiums returns the set of consortiums Consortiums() map[string]Consortium }
Consortiums represents the set of consortiums serviced by an ordering service
type ConsortiumsConfig ¶
type ConsortiumsConfig struct {
// contains filtered or unexported fields
}
ConsortiumsConfig holds the consoritums configuration information
func NewConsortiumsConfig ¶
func NewConsortiumsConfig(cg *ConsortiumsGroup) *ConsortiumsConfig
NewConsortiumsConfig creates a new instance of the consoritums config
func (*ConsortiumsConfig) Commit ¶
func (cc *ConsortiumsConfig) Commit()
Commit commits the ConsortiumsConfig
func (*ConsortiumsConfig) Consortiums ¶
func (cc *ConsortiumsConfig) Consortiums() map[string]Consortium
Consortiums returns a map of the current consortiums
func (ConsortiumsConfig) Deserialize ¶
Deserialize looks up the backing Values proto of the given name, unmarshals the given bytes to populate the backing message structure, and returns a referenced to the retained deserialized message (or an error, either because the key did not exist, or there was an an error unmarshaling
func (*ConsortiumsConfig) Validate ¶
func (cc *ConsortiumsConfig) Validate(tx interface{}, groups map[string]ValueProposer) error
Validate builds the Consortiums map
type ConsortiumsGroup ¶
type ConsortiumsGroup struct { *Proposer *ConsortiumsConfig // contains filtered or unexported fields }
ConsortiumsGroup stores the set of Consortiums
func NewConsortiumsGroup ¶
func NewConsortiumsGroup(mspConfig *msp.MSPConfigHandler) *ConsortiumsGroup
NewConsortiumsGroup creates a new *ConsortiumsGroup
func (*ConsortiumsGroup) Allocate ¶
func (cg *ConsortiumsGroup) Allocate() Values
Allocate returns the resources for a new config proposal
func (ConsortiumsGroup) Deserialize ¶
Deserialize looks up the backing Values proto of the given name, unmarshals the given bytes to populate the backing message structure, and returns a referenced to the retained deserialized message (or an error, either because the key did not exist, or there was an an error unmarshaling
func (*ConsortiumsGroup) NewGroup ¶
func (cg *ConsortiumsGroup) NewGroup(name string) (ValueProposer, error)
NewGroup returns a Consortium instance
type Handler ¶
type Handler interface { Allocate() Values NewGroup(name string) (ValueProposer, error) }
Handler
type Orderer ¶
type Orderer interface { // ConsensusType returns the configured consensus type ConsensusType() string // BatchSize returns the maximum number of messages to include in a block BatchSize() *ab.BatchSize // BatchTimeout returns the amount of time to wait before creating a batch BatchTimeout() time.Duration // MaxChannelsCount returns the maximum count of channels to allow for an ordering network MaxChannelsCount() uint64 // KafkaBrokers returns the addresses (IP:port notation) of a set of "bootstrap" // Kafka brokers, i.e. this is not necessarily the entire set of Kafka brokers // used for ordering KafkaBrokers() []string // Organizations returns the organizations for the ordering service Organizations() map[string]Org }
Orderer stores the common shared orderer config
type OrdererConfig ¶
type OrdererConfig struct {
// contains filtered or unexported fields
}
OrdererConfig holds the orderer configuration information
func NewOrdererConfig ¶
func NewOrdererConfig(og *OrdererGroup) *OrdererConfig
NewOrdererConfig creates a new instance of the orderer config
func (*OrdererConfig) BatchSize ¶
func (oc *OrdererConfig) BatchSize() *ab.BatchSize
BatchSize returns the maximum number of messages to include in a block
func (*OrdererConfig) BatchTimeout ¶
func (oc *OrdererConfig) BatchTimeout() time.Duration
BatchTimeout returns the amount of time to wait before creating a batch
func (*OrdererConfig) Commit ¶
func (oc *OrdererConfig) Commit()
Commit writes the orderer config back to the orderer config group
func (*OrdererConfig) ConsensusType ¶
func (oc *OrdererConfig) ConsensusType() string
ConsensusType returns the configured consensus type
func (OrdererConfig) Deserialize ¶
Deserialize looks up the backing Values proto of the given name, unmarshals the given bytes to populate the backing message structure, and returns a referenced to the retained deserialized message (or an error, either because the key did not exist, or there was an an error unmarshaling
func (*OrdererConfig) KafkaBrokers ¶
func (oc *OrdererConfig) KafkaBrokers() []string
KafkaBrokers returns the addresses (IP:port notation) of a set of "bootstrap" Kafka brokers, i.e. this is not necessarily the entire set of Kafka brokers used for ordering
func (*OrdererConfig) MaxChannelsCount ¶
func (oc *OrdererConfig) MaxChannelsCount() uint64
MaxChannelsCount returns the maximum count of channels this orderer supports
func (*OrdererConfig) Organizations ¶
func (oc *OrdererConfig) Organizations() map[string]Org
Organizations returns a map of the orgs in the channel
func (*OrdererConfig) Validate ¶
func (oc *OrdererConfig) Validate(tx interface{}, groups map[string]ValueProposer) error
type OrdererGroup ¶
type OrdererGroup struct { *Proposer *OrdererConfig // contains filtered or unexported fields }
Config is stores the orderer component configuration
func NewOrdererGroup ¶
func NewOrdererGroup(mspConfig *msp.MSPConfigHandler) *OrdererGroup
NewConfig creates a new *OrdererConfig
func (*OrdererGroup) Allocate ¶
func (og *OrdererGroup) Allocate() Values
func (OrdererGroup) Deserialize ¶
Deserialize looks up the backing Values proto of the given name, unmarshals the given bytes to populate the backing message structure, and returns a referenced to the retained deserialized message (or an error, either because the key did not exist, or there was an an error unmarshaling
func (*OrdererGroup) NewGroup ¶
func (og *OrdererGroup) NewGroup(name string) (ValueProposer, error)
NewGroup returns an Org instance
type OrdererProtos ¶
type OrdererProtos struct { ConsensusType *ab.ConsensusType BatchSize *ab.BatchSize BatchTimeout *ab.BatchTimeout KafkaBrokers *ab.KafkaBrokers ChannelRestrictions *ab.ChannelRestrictions }
OrdererProtos is used as the source of the OrdererConfig
type Org ¶
type Org interface { // Name returns the name this org is referred to in config Name() string // MSPID returns the MSP ID associated with this org MSPID() string }
Org stores the common organizational config
type OrganizationConfig ¶
type OrganizationConfig struct {
// contains filtered or unexported fields
}
func NewOrganizationConfig ¶
func NewOrganizationConfig(og *OrganizationGroup) *OrganizationConfig
func (*OrganizationConfig) Commit ¶
func (oc *OrganizationConfig) Commit()
func (OrganizationConfig) Deserialize ¶
Deserialize looks up the backing Values proto of the given name, unmarshals the given bytes to populate the backing message structure, and returns a referenced to the retained deserialized message (or an error, either because the key did not exist, or there was an an error unmarshaling
func (*OrganizationConfig) Validate ¶
func (oc *OrganizationConfig) Validate(tx interface{}, groups map[string]ValueProposer) error
Validate returns whether the configuration is valid
type OrganizationGroup ¶
type OrganizationGroup struct { *Proposer *OrganizationConfig // contains filtered or unexported fields }
Config stores common configuration information for organizations
func NewOrganizationGroup ¶
func NewOrganizationGroup(name string, mspConfigHandler *mspconfig.MSPConfigHandler) *OrganizationGroup
NewConfig creates an instnace of the organization Config
func (*OrganizationGroup) Allocate ¶
func (og *OrganizationGroup) Allocate() Values
Allocate creates the proto resources neeeded for a proposal
func (OrganizationGroup) Deserialize ¶
Deserialize looks up the backing Values proto of the given name, unmarshals the given bytes to populate the backing message structure, and returns a referenced to the retained deserialized message (or an error, either because the key did not exist, or there was an an error unmarshaling
func (*OrganizationGroup) MSPID ¶
func (og *OrganizationGroup) MSPID() string
MSPID returns the MSP ID associated with this org
func (*OrganizationGroup) Name ¶
func (og *OrganizationGroup) Name() string
Name returns the name this org is referred to in config
func (*OrganizationGroup) NewGroup ¶
func (og *OrganizationGroup) NewGroup(name string) (ValueProposer, error)
NewGroup always errors
type Proposer ¶
type Proposer struct {
// contains filtered or unexported fields
}
func (*Proposer) BeginValueProposals ¶
func (p *Proposer) BeginValueProposals(tx interface{}, groups []string) (ValueDeserializer, []ValueProposer, error)
BeginValueProposals called when a config proposal is begun
func (*Proposer) CommitProposals ¶
func (p *Proposer) CommitProposals(tx interface{})
CommitProposals called when a config proposal is committed
func (*Proposer) PreCommit ¶
Validate ensures that the new config values is a valid change
type Root ¶
type Root struct {
// contains filtered or unexported fields
}
Root acts as the object which anchors the rest of the config Note, yes, this is a stuttering name, but, the intent is to move this up one level at the end of refactoring
func NewRoot ¶
func NewRoot(mspConfigHandler *msp.MSPConfigHandler) *Root
NewRoot creates a new instance of the Root
func (*Root) Application ¶
func (r *Root) Application() *ApplicationGroup
Application returns the associated Application level config
func (*Root) BeginValueProposals ¶
func (r *Root) BeginValueProposals(tx interface{}, groups []string) (ValueDeserializer, []ValueProposer, error)
BeginValueProposals is used to start a new config proposal
func (*Root) Channel ¶
func (r *Root) Channel() *ChannelGroup
Channel returns the associated Channel level config
func (*Root) CommitProposals ¶
func (r *Root) CommitProposals(tx interface{})
CommitConfig is used to commit a new config proposal
func (*Root) Consortiums ¶
func (r *Root) Consortiums() *ConsortiumsGroup
func (*Root) Orderer ¶
func (r *Root) Orderer() *OrdererGroup
Orderer returns the associated Orderer level config
func (*Root) PreCommit ¶
PreCommit is used to verify total configuration before commit
type ValueDeserializer ¶
type ValueDeserializer interface { // Deserialize takes a Value key as a string, and a marshaled Value value as bytes // and returns the deserialized version of that value. Note, this function operates // with side effects intended. Using a ValueDeserializer to deserialize a message will // generally set the value in the Values interface that the ValueDeserializer derived from // Therefore, the proto.Message may be safely discarded, but may be retained for // inspection and or debugging purposes. Deserialize(key string, value []byte) (proto.Message, error) }
ValueDeserializer provides a mechanism to retrieve proto messages to deserialize config values into
type ValueProposer ¶
type ValueProposer interface { // BeginValueProposals called when a config proposal is begun BeginValueProposals(tx interface{}, groups []string) (ValueDeserializer, []ValueProposer, error) // RollbackProposals called when a config proposal is abandoned RollbackProposals(tx interface{}) // PreCommit is invoked before committing the config to catch // any errors which cannot be caught on a per proposal basis // TODO, rename other methods to remove Value/Proposal references PreCommit(tx interface{}) error // CommitProposals called when a config proposal is committed CommitProposals(tx interface{}) }
type Values ¶
type Values interface { ValueDeserializer // Validate should ensure that the values set into the proto messages are correct // and that the new group values are allowed. It also includes a tx ID in case cross // Handler invocations (ie to the MSP Config Manager) must be made Validate(interface{}, map[string]ValueProposer) error // Commit should call back into the Value handler to update the config Commit() }
Values defines a mechanism to supply messages to unamrshal from config and a mechanism to validate the results