Documentation
¶
Index ¶
- type CertRequestBuffer
- func (c *CertRequestBuffer) Add(request *certification.BlockCertificationRequest, tb QuorumInfo) (QuorumStatus, []*certification.BlockCertificationRequest, error)
- func (c *CertRequestBuffer) Clear(id types.PartitionID, shard types.ShardID)
- func (c *CertRequestBuffer) IsConsensusReceived(id types.PartitionID, shard types.ShardID, tb QuorumInfo) QuorumStatus
- func (c *CertRequestBuffer) Reset()
- type ConsensusManager
- type Node
- type Observability
- type PartitionNet
- type QuorumInfo
- type QuorumStatus
- type Subscriptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CertRequestBuffer ¶
type CertRequestBuffer struct {
// contains filtered or unexported fields
}
func NewCertificationRequestBuffer ¶
func NewCertificationRequestBuffer() *CertRequestBuffer
NewCertificationRequestBuffer create new certification nodeRequest buffer
func (*CertRequestBuffer) Add ¶
func (c *CertRequestBuffer) Add(request *certification.BlockCertificationRequest, tb QuorumInfo) (QuorumStatus, []*certification.BlockCertificationRequest, error)
Add request to certification store. Per node id first valid request is stored. Rest are either duplicate or equivocating and in both cases error is returned. Clear or Reset in order to receive new nodeRequest
func (*CertRequestBuffer) Clear ¶
func (c *CertRequestBuffer) Clear(id types.PartitionID, shard types.ShardID)
Clear clears node request in one partition
func (*CertRequestBuffer) IsConsensusReceived ¶
func (c *CertRequestBuffer) IsConsensusReceived(id types.PartitionID, shard types.ShardID, tb QuorumInfo) QuorumStatus
IsConsensusReceived has partition with id reached consensus
func (*CertRequestBuffer) Reset ¶
func (c *CertRequestBuffer) Reset()
Reset removed all incoming nodeRequest from all stores
type ConsensusManager ¶
type ConsensusManager interface { // RequestCertification accepts certification requests with proof of quorum or no-quorum. RequestCertification(ctx context.Context, cr consensus.IRChangeRequest) error // CertificationResult read the channel to receive certification results CertificationResult() <-chan *certification.CertificationResponse ShardInfo(partition types.PartitionID, shard types.ShardID) (*storage.ShardInfo, error) // Run consensus algorithm Run(ctx context.Context) error }
type Node ¶
type Node struct {
// contains filtered or unexported fields
}
func New ¶
func New( p *network.Peer, pNet PartitionNet, cm ConsensusManager, observe Observability, ) (*Node, error)
New creates a new instance of the root chain node
type Observability ¶
type PartitionNet ¶
type QuorumInfo ¶
type QuorumStatus ¶
type QuorumStatus uint8
const ( QuorumUnknown QuorumStatus = iota QuorumInProgress QuorumAchieved QuorumNotPossible )
func (QuorumStatus) String ¶
func (qs QuorumStatus) String() string
type Subscriptions ¶
type Subscriptions struct {
// contains filtered or unexported fields
}
func NewSubscriptions ¶
func NewSubscriptions(m metric.Meter) *Subscriptions
func (*Subscriptions) Get ¶
func (s *Subscriptions) Get(id types.PartitionID) []string
func (*Subscriptions) ResponseSent ¶
func (s *Subscriptions) ResponseSent(id types.PartitionID, nodeId string)
func (*Subscriptions) Subscribe ¶
func (s *Subscriptions) Subscribe(id types.PartitionID, nodeId string)
Click to show internal directories.
Click to hide internal directories.