Documentation ¶
Index ¶
- type Chain
- func (c *Chain) Configure(_ *common.Envelope, _ uint64) error
- func (*Chain) Errored() <-chan struct{}
- func (c *Chain) Halt()
- func (c *Chain) Order(_ *common.Envelope, _ uint64) error
- func (c *Chain) Start()
- func (c *Chain) StatusReport() (types.ClusterRelation, types.Status)
- func (c *Chain) WaitReady() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Chain ¶
type Chain struct {
Err error
}
Chain implements a component that allows the orderer to follow a specific channel when is not a cluster member, that is, be a "follower" of the cluster. This means that the current orderer is not a member of the consenters set of the channel, and is only pulling blocks from other orderers.
The follower is inspecting config blocks as they are pulled and if it discovers that it was introduced into the consenters set, it will trigger the creation of a regular etcdraft.Chain, that is, turn into a "member" of the cluster.
The follower is started in one of two ways: 1) following an API Join request with a join-block that does not include the orderer in its conseters set, or 2) when the orderer was a cluster member and was removed from the consenters set.
The follower is in status "onboarding" when it pulls blocks below the join-block number, or "active" when it pulls blocks equal or above the join-block number.
func (*Chain) StatusReport ¶
func (c *Chain) StatusReport() (types.ClusterRelation, types.Status)
StatusReport returns the ClusterRelation & Status