代码拉取完成,页面将自动刷新
/*
Copyright IBM Corp. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
package capabilities
import (
"github.com/hyperledger/fabric/common/flogging"
cb "github.com/hyperledger/fabric/protos/common"
"github.com/pkg/errors"
)
const pkgLogID = "common/capabilities"
var logger = flogging.MustGetLogger(pkgLogID)
// provider is the 'plugin' parameter for registry.
type provider interface {
// HasCapability should report whether the binary supports this capability.
HasCapability(capability string) bool
// Type is used to make error messages more legible.
Type() string
}
// registry is a common structure intended to be used to support specific aspects of capabilities
// such as orderer, application, and channel.
type registry struct {
provider provider
capabilities map[string]*cb.Capability
}
func newRegistry(p provider, capabilities map[string]*cb.Capability) *registry {
return ®istry{
provider: p,
capabilities: capabilities,
}
}
// Supported checks that all of the required capabilities are supported by this binary.
func (r *registry) Supported() error {
for capabilityName := range r.capabilities {
if r.provider.HasCapability(capabilityName) {
logger.Debugf("%s capability %s is supported and is enabled", r.provider.Type(), capabilityName)
continue
}
return errors.Errorf("%s capability %s is required but not supported", r.provider.Type(), capabilityName)
}
return nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。