Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitGossipService

func InitGossipService(
	peerIdentity []byte,
	metricsProvider metrics.Provider,
	endpoint string, s *grpc.Server,
	certs *gossipCommon.TLSCertificates,
	mcs api.MessageCryptoService,
	secAdv api.SecurityAdvisor,
	secureDialOpts api.PeerSecureDialOpts,
	orgLeader bool,
	bootPeers ...string,
) error

    InitGossipService initialize gossip service

    func InitGossipServiceCustomDeliveryFactory

    func InitGossipServiceCustomDeliveryFactory(
    	peerIdentity []byte,
    	metricsProvider metrics.Provider,
    	endpoint string,
    	s *grpc.Server,
    	certs *gossipCommon.TLSCertificates,
    	factory DeliveryServiceFactory,
    	mcs api.MessageCryptoService,
    	secAdv api.SecurityAdvisor,
    	secureDialOpts api.PeerSecureDialOpts,
    	bootPeers ...string,
    ) error

      InitGossipServiceCustomDeliveryFactory initialize gossip service with customize delivery factory implementation, might be useful for testing and mocking purposes

      Types

      type ApplicationOrgs

      type ApplicationOrgs map[string]channelconfig.ApplicationOrg

        ApplicationOrgs defines a mapping from ApplicationOrg by ID.

        type Config

        type Config interface {
        	// ChainID returns the chainID for this channel
        	ChainID() string
        
        	// OrdererOrgs returns the organizations of the orderers
        	OrdererOrgs() []string
        
        	// OrdererAddressesByOrgs returns a mapping from the organization ID
        	// to the endpoints of the orderers
        	OrdererAddressesByOrgs() map[string][]string
        
        	// ApplicationOrgs returns a map of org ID to ApplicationOrgConfig
        	ApplicationOrgs() ApplicationOrgs
        
        	// Sequence should return the sequence number of the current configuration
        	Sequence() uint64
        
        	// OrdererAddresses returns the list of valid orderer addresses to connect to to invoke Broadcast/Deliver
        	OrdererAddresses() []string
        }

          Config enumerates the configuration methods required by gossip

          type ConfigProcessor

          type ConfigProcessor interface {
          	// ProcessConfig should be invoked whenever a channel's configuration is initialized or updated
          	ProcessConfigUpdate(config Config)
          }

            ConfigProcessor receives config updates

            type DataStoreSupport

            type DataStoreSupport struct {
            	committer.Committer
            	privdata2.TransientStore
            }

              DataStoreSupport aggregates interfaces capable of handling either incoming blocks or private data

              type DeliveryServiceFactory

              type DeliveryServiceFactory interface {
              	// Returns an instance of delivery client
              	Service(g GossipService, oac OrdererAddressConfig, msc api.MessageCryptoService) (deliverclient.DeliverService, error)
              }

                DeliveryServiceFactory factory to create and initialize delivery service instance

                type GossipService

                type GossipService interface {
                	gossip.Gossip
                
                	// DistributePrivateData distributes private data to the peers in the collections
                	// according to policies induced by the PolicyStore and PolicyParser
                	DistributePrivateData(chainID string, txID string, privateData *transientstore.TxPvtReadWriteSetWithConfigInfo, blkHt uint64) error
                	// NewConfigEventer creates a ConfigProcessor which the channelconfig.BundleSource can ultimately route config updates to
                	NewConfigEventer() ConfigProcessor
                	// InitializeChannel allocates the state provider and should be invoked once per channel per execution
                	InitializeChannel(chainID string, oac OrdererAddressConfig, support Support)
                	// AddPayload appends message payload to for given chain
                	AddPayload(chainID string, payload *gproto.Payload) error
                }

                  GossipService encapsulates gossip and state capabilities into single interface

                  func GetGossipService

                  func GetGossipService() GossipService

                    GetGossipService returns an instance of gossip service

                    type OrdererAddressConfig

                    type OrdererAddressConfig struct {
                    	Addresses        []string
                    	AddressesByOrg   map[string][]string
                    	Organizations    []string
                    	AddressOverrides map[string]*comm.OrdererEndpoint
                    }

                      OrdererAddressConfig defines the addresses of the ordering service nodes

                      type Support

                      type Support struct {
                      	Validator            txvalidator.Validator
                      	Committer            committer.Committer
                      	Store                privdata2.TransientStore
                      	Cs                   privdata.CollectionStore
                      	IdDeserializeFactory privdata2.IdentityDeserializerFactory
                      	CapabilityProvider   privdata2.CapabilityProvider
                      }

                        Support aggregates functionality of several interfaces required by gossip service