Documentation
¶
Index ¶
- type CertRequestBuffer
- func (c *CertRequestBuffer) Add(id types.SystemID, request *certification.BlockCertificationRequest, ...) (QuorumStatus, []*certification.BlockCertificationRequest, error)
- func (c *CertRequestBuffer) Clear(id types.SystemID)
- func (c *CertRequestBuffer) IsConsensusReceived(id types.SystemID, tb partitions.PartitionTrustBase) QuorumStatus
- func (c *CertRequestBuffer) Reset()
- type ConsensusManager
- type Node
- type Observability
- type PartitionNet
- 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(id types.SystemID, request *certification.BlockCertificationRequest, tb partitions.PartitionTrustBase) (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.SystemID)
Clear clears node request in one partition
func (*CertRequestBuffer) IsConsensusReceived ¶
func (c *CertRequestBuffer) IsConsensusReceived(id types.SystemID, tb partitions.PartitionTrustBase) 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 *types.UnicityCertificate // GetLatestUnicityCertificate get the latest certification for partition (maybe should/can be removed) GetLatestUnicityCertificate(id types.SystemID) (*types.UnicityCertificate, 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, ps partitions.PartitionConfiguration, cm ConsensusManager, observe Observability, ) (*Node, error)
New creates a new instance of the root chain node
type Observability ¶
type PartitionNet ¶
type QuorumStatus ¶
type QuorumStatus uint8
const ( QuorumInProgress QuorumStatus = iota QuorumAchieved QuorumNotPossible )
type Subscriptions ¶
type Subscriptions struct {
// contains filtered or unexported fields
}
func NewSubscriptions ¶
func NewSubscriptions(m metric.Meter) *Subscriptions
func (*Subscriptions) ResponseSent ¶
func (s *Subscriptions) ResponseSent(id types.SystemID, nodeId string)
Click to show internal directories.
Click to hide internal directories.