Documentation ¶
Index ¶
- type FullRealm
- func (r *FullRealm) AddPoll(fn api.MaintenancePollFunc)
- func (r *FullRealm) AdjustedAfter(d time.Duration) time.Duration
- func (r *FullRealm) ApplyLocalState(nsh proofs.NodeStateHash) bool
- func (r *FullRealm) Blames() misbehavior.BlameFactory
- func (r *FullRealm) BuildNextPopulation(ctx context.Context, ranks []profiles.PopulationRank, ...) bool
- func (r *FullRealm) CommitPulseChange()
- func (r *FullRealm) CreateAnnouncement(n *pop.NodeAppearance, isJoinerProfileRequired bool) *transport.NodeAnnouncementProfile
- func (r *FullRealm) CreateLocalAnnouncement() *transport.NodeAnnouncementProfile
- func (r *FullRealm) CreateLocalPhase0Announcement() *transport.NodeAnnouncementProfile
- func (r *FullRealm) Frauds() misbehavior.FraudFactory
- func (r *FullRealm) GetDigestFactory() transport.ConsensusDigestFactory
- func (r *FullRealm) GetLastCloudStateHash() proofs.CloudStateHash
- func (r *FullRealm) GetLocalConfig() api.LocalNodeConfiguration
- func (r *FullRealm) GetLocalProfile() profiles.LocalNode
- func (r *FullRealm) GetNeighbourhoodSizes() transport.NeighbourhoodSizes
- func (r *FullRealm) GetNextPulseNumber() pulse.Number
- func (r *FullRealm) GetNodeCount() int
- func (r *FullRealm) GetOriginalPulse() proofs.OriginalPulsarPacket
- func (r *FullRealm) GetPacketBuilder() transport.PacketBuilder
- func (r *FullRealm) GetPacketSender() transport.PacketSender
- func (r *FullRealm) GetPopulation() pop.RealmPopulation
- func (r *FullRealm) GetProfileFactory() profiles.Factory
- func (r *FullRealm) GetPulseData() pulse.Data
- func (r *FullRealm) GetPulseDataDigest() cryptkit.DigestHolder
- func (r *FullRealm) GetPulseNumber() pulse.Number
- func (r *FullRealm) GetPurgatory() *purgatory.RealmPurgatory
- func (r *FullRealm) GetRoundContext() context.Context
- func (r *FullRealm) GetSelf() *pop.NodeAppearance
- func (r *FullRealm) GetSelfNodeID() node.ShortNodeID
- func (r *FullRealm) GetSignatureVerifier(pks cryptkit.PublicKeyStore) cryptkit.SignatureVerifier
- func (r *FullRealm) GetSigner() cryptkit.DigestSigner
- func (r *FullRealm) GetStartedAt() time.Time
- func (r *FullRealm) GetStrategy() RoundStrategy
- func (r *FullRealm) GetTimings() api.RoundTimings
- func (r *FullRealm) GetVerifierFactory() cryptkit.SignatureVerifierFactory
- func (r *FullRealm) GetWelcomePackage() *proofs.NodeWelcomePackage
- func (r *FullRealm) IsJoiner() bool
- func (r *FullRealm) IsLocalStateful() bool
- func (r *FullRealm) MonitorOtherPulses(packet transport.PulsePacketReader, from endpoints.Inbound) error
- func (r *FullRealm) NotifyRoundStopped(ctx context.Context)
- func (r *FullRealm) PreparePulseChange() (bool, <-chan api.UpstreamState)
- func (r *FullRealm) VerifyPacketAuthenticity(ctx context.Context, packet transport.PacketParser, from endpoints.Inbound, ...) (coreapi.PacketVerifyFlags, error)
- func (r *FullRealm) VerifyPacketPulseNumber(ctx context.Context, packet transport.PacketParser, from endpoints.Inbound, ...) (bool, error)
- type HostPacketDispatcherTemplate
- func (*HostPacketDispatcherTemplate) DispatchMemberPacket(ctx context.Context, packet transport.MemberPacketReader, ...) error
- func (*HostPacketDispatcherTemplate) HasCustomVerifyForHost(from endpoints.Inbound, verifyFlags coreapi.PacketVerifyFlags) bool
- func (*HostPacketDispatcherTemplate) TriggerUnknownMember(ctx context.Context, memberID node.ShortNodeID, ...) (bool, error)
- type MemberPacketDispatcherTemplate
- func (*MemberPacketDispatcherTemplate) DispatchHostPacket(ctx context.Context, packet transport.PacketParser, from endpoints.Inbound, ...) error
- func (*MemberPacketDispatcherTemplate) HasCustomVerifyForHost(from endpoints.Inbound, verifyFlags coreapi.PacketVerifyFlags) bool
- func (*MemberPacketDispatcherTemplate) TriggerUnknownMember(ctx context.Context, memberID node.ShortNodeID, ...) (bool, error)
- type NodeUpdateCallback
- type PerNodePacketDispatcherFactory
- type PhaseController
- type PhaseControllerTemplate
- type PhaseControllersBundle
- type PhaseControllersBundleFactory
- type PhasedRoundController
- func (r *PhasedRoundController) HandlePacket(ctx context.Context, packet transport.PacketParser, from endpoints.Inbound) (api.RoundControlCode, error)
- func (r *PhasedRoundController) IsRunning() bool
- func (r *PhasedRoundController) PrepareConsensusRound(upstream api.UpstreamController)
- func (r *PhasedRoundController) StopConsensusRound()
- type PhasedRoundControllerFactory
- type PrepPhaseController
- type PrepPhaseControllerTemplate
- type PrepRealm
- func (r PrepRealm) AddPoll(fn api.MaintenancePollFunc)
- func (r PrepRealm) AdjustedAfter(d time.Duration) time.Duration
- func (p *PrepRealm) ApplyCloudIntro(lastCloudStateHash cryptkit.DigestHolder, populationCount int, ...)
- func (p *PrepRealm) ApplyPulseData(ctx context.Context, startedAt time.Time, pp transport.PulsePacketReader, ...) error
- func (r PrepRealm) GetDigestFactory() transport.ConsensusDigestFactory
- func (r PrepRealm) GetLocalConfig() api.LocalNodeConfiguration
- func (p *PrepRealm) GetMandateRegistry() census.MandateRegistry
- func (p *PrepRealm) GetOriginalPulse() proofs.OriginalPulsarPacket
- func (r PrepRealm) GetRoundContext() context.Context
- func (r PrepRealm) GetSignatureVerifier(pks cryptkit.PublicKeyStore) cryptkit.SignatureVerifier
- func (r PrepRealm) GetSigner() cryptkit.DigestSigner
- func (r PrepRealm) GetStartedAt() time.Time
- func (r PrepRealm) GetStrategy() RoundStrategy
- func (r PrepRealm) GetVerifierFactory() cryptkit.SignatureVerifierFactory
- func (r PrepRealm) VerifyPacketAuthenticity(ctx context.Context, packet transport.PacketParser, from endpoints.Inbound, ...) (coreapi.PacketVerifyFlags, error)
- func (r PrepRealm) VerifyPacketPulseNumber(ctx context.Context, packet transport.PacketParser, from endpoints.Inbound, ...) (bool, error)
- type RoundState
- type RoundStateMachineWorker
- func (p *RoundStateMachineWorker) CancelPulseChange()
- func (p *RoundStateMachineWorker) CommitPulseChange(report api.UpstreamReport, pd pulse.Data, activeCensus census.Operational)
- func (p *RoundStateMachineWorker) CommitPulseChangeByStateless(report api.UpstreamReport, pd pulse.Data, activeCensus census.Operational)
- func (p *RoundStateMachineWorker) ConsensusFinished(report api.UpstreamReport, expectedCensus census.Operational)
- func (p *RoundStateMachineWorker) EnsureRunning()
- func (p *RoundStateMachineWorker) GetState() RoundState
- func (p *RoundStateMachineWorker) IsRunning() bool
- func (p *RoundStateMachineWorker) IsStartedAndRunning() (bool, bool)
- func (p *RoundStateMachineWorker) OnFullRoundStarting()
- func (p *RoundStateMachineWorker) OnPrepRoundFailed()
- func (p *RoundStateMachineWorker) OnPulseDetected()
- func (p *RoundStateMachineWorker) OnRoundStopped(ctx context.Context)
- func (p *RoundStateMachineWorker) PreparePulseChange(report api.UpstreamReport, ch chan<- api.UpstreamState)
- func (p *RoundStateMachineWorker) SafeStartAndGetIsRunning() bool
- func (p *RoundStateMachineWorker) SetTimeout(deadline time.Time)
- func (p *RoundStateMachineWorker) Start()
- func (p *RoundStateMachineWorker) Stop()
- type RoundStrategy
- type RoundStrategyFactory
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FullRealm ¶
type FullRealm struct {
// contains filtered or unexported fields
}
func (*FullRealm) AddPoll ¶
func (r *FullRealm) AddPoll(fn api.MaintenancePollFunc)
polling fn must be fast, and it will remain in polling until it returns false
func (*FullRealm) ApplyLocalState ¶
func (r *FullRealm) ApplyLocalState(nsh proofs.NodeStateHash) bool
func (*FullRealm) Blames ¶
func (r *FullRealm) Blames() misbehavior.BlameFactory
func (*FullRealm) BuildNextPopulation ¶
func (r *FullRealm) BuildNextPopulation(ctx context.Context, ranks []profiles.PopulationRank, gsh proofs.GlobulaStateHash, csh proofs.CloudStateHash) bool
func (*FullRealm) CommitPulseChange ¶
func (r *FullRealm) CommitPulseChange()
func (*FullRealm) CreateAnnouncement ¶
func (r *FullRealm) CreateAnnouncement(n *pop.NodeAppearance, isJoinerProfileRequired bool) *transport.NodeAnnouncementProfile
func (*FullRealm) CreateLocalAnnouncement ¶
func (r *FullRealm) CreateLocalAnnouncement() *transport.NodeAnnouncementProfile
func (*FullRealm) CreateLocalPhase0Announcement ¶
func (r *FullRealm) CreateLocalPhase0Announcement() *transport.NodeAnnouncementProfile
func (*FullRealm) Frauds ¶
func (r *FullRealm) Frauds() misbehavior.FraudFactory
func (*FullRealm) GetDigestFactory ¶
func (r *FullRealm) GetDigestFactory() transport.ConsensusDigestFactory
func (*FullRealm) GetLastCloudStateHash ¶
func (r *FullRealm) GetLastCloudStateHash() proofs.CloudStateHash
func (*FullRealm) GetLocalConfig ¶
func (r *FullRealm) GetLocalConfig() api.LocalNodeConfiguration
func (*FullRealm) GetLocalProfile ¶
func (*FullRealm) GetNeighbourhoodSizes ¶
func (r *FullRealm) GetNeighbourhoodSizes() transport.NeighbourhoodSizes
func (*FullRealm) GetNextPulseNumber ¶
func (*FullRealm) GetNodeCount ¶
func (*FullRealm) GetOriginalPulse ¶
func (r *FullRealm) GetOriginalPulse() proofs.OriginalPulsarPacket
func (*FullRealm) GetPacketBuilder ¶
func (r *FullRealm) GetPacketBuilder() transport.PacketBuilder
func (*FullRealm) GetPacketSender ¶
func (r *FullRealm) GetPacketSender() transport.PacketSender
func (*FullRealm) GetPopulation ¶
func (r *FullRealm) GetPopulation() pop.RealmPopulation
func (*FullRealm) GetProfileFactory ¶
func (*FullRealm) GetPulseData ¶
func (*FullRealm) GetPulseDataDigest ¶
func (r *FullRealm) GetPulseDataDigest() cryptkit.DigestHolder
func (*FullRealm) GetPulseNumber ¶
func (*FullRealm) GetPurgatory ¶
func (r *FullRealm) GetPurgatory() *purgatory.RealmPurgatory
func (*FullRealm) GetRoundContext ¶
func (*FullRealm) GetSelf ¶
func (r *FullRealm) GetSelf() *pop.NodeAppearance
func (*FullRealm) GetSelfNodeID ¶
func (r *FullRealm) GetSelfNodeID() node.ShortNodeID
func (*FullRealm) GetSignatureVerifier ¶
func (r *FullRealm) GetSignatureVerifier(pks cryptkit.PublicKeyStore) cryptkit.SignatureVerifier
func (*FullRealm) GetSigner ¶
func (r *FullRealm) GetSigner() cryptkit.DigestSigner
func (*FullRealm) GetStartedAt ¶
func (*FullRealm) GetStrategy ¶
func (r *FullRealm) GetStrategy() RoundStrategy
func (*FullRealm) GetTimings ¶
func (r *FullRealm) GetTimings() api.RoundTimings
func (*FullRealm) GetVerifierFactory ¶
func (r *FullRealm) GetVerifierFactory() cryptkit.SignatureVerifierFactory
func (*FullRealm) GetWelcomePackage ¶
func (r *FullRealm) GetWelcomePackage() *proofs.NodeWelcomePackage
func (*FullRealm) IsLocalStateful ¶
func (*FullRealm) MonitorOtherPulses ¶
func (*FullRealm) NotifyRoundStopped ¶
func (*FullRealm) PreparePulseChange ¶
func (r *FullRealm) PreparePulseChange() (bool, <-chan api.UpstreamState)
func (*FullRealm) VerifyPacketAuthenticity ¶
func (r *FullRealm) VerifyPacketAuthenticity(ctx context.Context, packet transport.PacketParser, from endpoints.Inbound, sourceNode packetdispatch.MemberPacketReceiver, unverifiedFlag coreapi.PacketVerifyFlags, pd population.PacketDispatcher, verifyFlags coreapi.PacketVerifyFlags) (coreapi.PacketVerifyFlags, error)
type HostPacketDispatcherTemplate ¶
type HostPacketDispatcherTemplate struct { }
func (*HostPacketDispatcherTemplate) DispatchMemberPacket ¶
func (*HostPacketDispatcherTemplate) DispatchMemberPacket(ctx context.Context, packet transport.MemberPacketReader, source *population.NodeAppearance) error
func (*HostPacketDispatcherTemplate) HasCustomVerifyForHost ¶
func (*HostPacketDispatcherTemplate) HasCustomVerifyForHost(from endpoints.Inbound, verifyFlags coreapi.PacketVerifyFlags) bool
func (*HostPacketDispatcherTemplate) TriggerUnknownMember ¶
func (*HostPacketDispatcherTemplate) TriggerUnknownMember(ctx context.Context, memberID node.ShortNodeID, packet transport.MemberPacketReader, from endpoints.Inbound) (bool, error)
type MemberPacketDispatcherTemplate ¶
type MemberPacketDispatcherTemplate struct { }
func (*MemberPacketDispatcherTemplate) DispatchHostPacket ¶
func (*MemberPacketDispatcherTemplate) DispatchHostPacket(ctx context.Context, packet transport.PacketParser, from endpoints.Inbound, flags coreapi.PacketVerifyFlags) error
func (*MemberPacketDispatcherTemplate) HasCustomVerifyForHost ¶
func (*MemberPacketDispatcherTemplate) HasCustomVerifyForHost(from endpoints.Inbound, verifyFlags coreapi.PacketVerifyFlags) bool
func (*MemberPacketDispatcherTemplate) TriggerUnknownMember ¶
func (*MemberPacketDispatcherTemplate) TriggerUnknownMember(ctx context.Context, memberID node.ShortNodeID, packet transport.MemberPacketReader, from endpoints.Inbound) (bool, error)
type NodeUpdateCallback ¶
type NodeUpdateCallback interface { population.EventDispatcher }
type PerNodePacketDispatcherFactory ¶
type PerNodePacketDispatcherFactory interface {
CreatePerNodePacketHandler(perNodeContext context.Context, node *population.NodeAppearance) (context.Context, population.DispatchMemberPacketFunc)
}
type PhaseController ¶
type PhaseController interface { GetPacketType() []phases.PacketType CreatePacketDispatcher(pt phases.PacketType, ctlIndex int, realm *FullRealm) (population.PacketDispatcher, PerNodePacketDispatcherFactory) BeforeStart(ctx context.Context, realm *FullRealm) StartWorker(ctx context.Context, realm *FullRealm) }
realm is provided for this handler to avoid being replicated in individual handlers
type PhaseControllerTemplate ¶
type PhaseControllerTemplate struct { }
func (*PhaseControllerTemplate) BeforeStart ¶
func (c *PhaseControllerTemplate) BeforeStart(ctx context.Context, realm *FullRealm)
func (*PhaseControllerTemplate) StartWorker ¶
func (*PhaseControllerTemplate) StartWorker(ctx context.Context, realm *FullRealm)
type PhaseControllersBundle ¶
type PhaseControllersBundle interface { IsDynamicPopulationRequired() bool CreatePrepPhaseControllers() []PrepPhaseController CreateFullPhaseControllers(nodeCount int) ([]PhaseController, NodeUpdateCallback) }
type PhaseControllersBundleFactory ¶
type PhaseControllersBundleFactory interface {
CreateControllersBundle(population census.OnlinePopulation, config api.LocalNodeConfiguration) PhaseControllersBundle
}
type PhasedRoundController ¶
type PhasedRoundController struct {
// contains filtered or unexported fields
}
func NewPhasedRoundController ¶
func NewPhasedRoundController(strategy RoundStrategy, chronicle api.ConsensusChronicles, bundle PhaseControllersBundle, transport transport.Factory, config api.LocalNodeConfiguration, controlFeeder api.ConsensusControlFeeder, candidateFeeder api.CandidateControlFeeder, ephemeralFeeder api.EphemeralControlFeeder, ) *PhasedRoundController
func (*PhasedRoundController) HandlePacket ¶
func (r *PhasedRoundController) HandlePacket(ctx context.Context, packet transport.PacketParser, from endpoints.Inbound) (api.RoundControlCode, error)
func (*PhasedRoundController) IsRunning ¶
func (r *PhasedRoundController) IsRunning() bool
func (*PhasedRoundController) PrepareConsensusRound ¶
func (r *PhasedRoundController) PrepareConsensusRound(upstream api.UpstreamController)
func (*PhasedRoundController) StopConsensusRound ¶
func (r *PhasedRoundController) StopConsensusRound()
type PhasedRoundControllerFactory ¶
type PhasedRoundControllerFactory struct {
// contains filtered or unexported fields
}
func NewPhasedRoundControllerFactory ¶
func NewPhasedRoundControllerFactory(config api.LocalNodeConfiguration, t transport.Factory, strategyFactory RoundStrategyFactory) *PhasedRoundControllerFactory
func (*PhasedRoundControllerFactory) CreateConsensusRound ¶
func (c *PhasedRoundControllerFactory) CreateConsensusRound(chronicle api.ConsensusChronicles, controlFeeder api.ConsensusControlFeeder, candidateFeeder api.CandidateControlFeeder, ephemeralFeeder api.EphemeralControlFeeder) api.RoundController
func (*PhasedRoundControllerFactory) GetLocalConfiguration ¶
func (c *PhasedRoundControllerFactory) GetLocalConfiguration() api.LocalNodeConfiguration
type PrepPhaseController ¶
type PrepPhaseController interface { GetPacketType() []phases.PacketType CreatePacketDispatcher(pt phases.PacketType, realm *PrepRealm) population.PacketDispatcher BeforeStart(ctx context.Context, realm *PrepRealm) StartWorker(ctx context.Context, realm *PrepRealm) }
type PrepPhaseControllerTemplate ¶
type PrepPhaseControllerTemplate struct { }
func (*PrepPhaseControllerTemplate) BeforeStart ¶
func (c *PrepPhaseControllerTemplate) BeforeStart(ctx context.Context, realm *PrepRealm)
func (*PrepPhaseControllerTemplate) StartWorker ¶
func (*PrepPhaseControllerTemplate) StartWorker(ctx context.Context, realm *PrepRealm)
type PrepRealm ¶
type PrepRealm struct {
// contains filtered or unexported fields
}
PrepRealm is a functionally limited and temporary realm that is used when this node doesn't know pulse or last consensus. It can ONLY pre-processed packets, but is disallowed to send them.
Pre-processed packets as postponed by default and processing will be repeated when FullRealm is activated.
func (PrepRealm) AddPoll ¶
func (r PrepRealm) AddPoll(fn api.MaintenancePollFunc)
polling fn must be fast, and it will remain in polling until it returns false
func (*PrepRealm) ApplyCloudIntro ¶
func (*PrepRealm) ApplyPulseData ¶
func (PrepRealm) GetDigestFactory ¶
func (r PrepRealm) GetDigestFactory() transport.ConsensusDigestFactory
func (PrepRealm) GetLocalConfig ¶
func (r PrepRealm) GetLocalConfig() api.LocalNodeConfiguration
func (*PrepRealm) GetMandateRegistry ¶
func (p *PrepRealm) GetMandateRegistry() census.MandateRegistry
func (*PrepRealm) GetOriginalPulse ¶
func (p *PrepRealm) GetOriginalPulse() proofs.OriginalPulsarPacket
func (PrepRealm) GetRoundContext ¶
func (PrepRealm) GetSignatureVerifier ¶
func (r PrepRealm) GetSignatureVerifier(pks cryptkit.PublicKeyStore) cryptkit.SignatureVerifier
func (PrepRealm) GetSigner ¶
func (r PrepRealm) GetSigner() cryptkit.DigestSigner
func (PrepRealm) GetStartedAt ¶
func (PrepRealm) GetStrategy ¶
func (r PrepRealm) GetStrategy() RoundStrategy
func (PrepRealm) GetVerifierFactory ¶
func (r PrepRealm) GetVerifierFactory() cryptkit.SignatureVerifierFactory
func (PrepRealm) VerifyPacketAuthenticity ¶
func (r PrepRealm) VerifyPacketAuthenticity(ctx context.Context, packet transport.PacketParser, from endpoints.Inbound, sourceNode packetdispatch.MemberPacketReceiver, unverifiedFlag coreapi.PacketVerifyFlags, pd population.PacketDispatcher, verifyFlags coreapi.PacketVerifyFlags) (coreapi.PacketVerifyFlags, error)
type RoundState ¶
type RoundState uint8
const ( RoundInactive RoundState = iota RoundAwaitingPulse RoundPulseDetected RoundPulseAccepted RoundPulsePreparing RoundPulseCommitted RoundConsensusFinished RoundStopped RoundTimedOut RoundAborted )
type RoundStateMachineWorker ¶
type RoundStateMachineWorker struct { api.UpstreamController // contains filtered or unexported fields }
func (*RoundStateMachineWorker) CancelPulseChange ¶
func (p *RoundStateMachineWorker) CancelPulseChange()
func (*RoundStateMachineWorker) CommitPulseChange ¶
func (p *RoundStateMachineWorker) CommitPulseChange(report api.UpstreamReport, pd pulse.Data, activeCensus census.Operational)
func (*RoundStateMachineWorker) CommitPulseChangeByStateless ¶
func (p *RoundStateMachineWorker) CommitPulseChangeByStateless(report api.UpstreamReport, pd pulse.Data, activeCensus census.Operational)
func (*RoundStateMachineWorker) ConsensusFinished ¶
func (p *RoundStateMachineWorker) ConsensusFinished(report api.UpstreamReport, expectedCensus census.Operational)
func (*RoundStateMachineWorker) EnsureRunning ¶
func (p *RoundStateMachineWorker) EnsureRunning()
func (*RoundStateMachineWorker) GetState ¶
func (p *RoundStateMachineWorker) GetState() RoundState
func (*RoundStateMachineWorker) IsRunning ¶
func (p *RoundStateMachineWorker) IsRunning() bool
func (*RoundStateMachineWorker) IsStartedAndRunning ¶
func (p *RoundStateMachineWorker) IsStartedAndRunning() (bool, bool)
func (*RoundStateMachineWorker) OnFullRoundStarting ¶
func (p *RoundStateMachineWorker) OnFullRoundStarting()
func (*RoundStateMachineWorker) OnPrepRoundFailed ¶
func (p *RoundStateMachineWorker) OnPrepRoundFailed()
func (*RoundStateMachineWorker) OnPulseDetected ¶
func (p *RoundStateMachineWorker) OnPulseDetected()
func (*RoundStateMachineWorker) OnRoundStopped ¶
func (p *RoundStateMachineWorker) OnRoundStopped(ctx context.Context)
func (*RoundStateMachineWorker) PreparePulseChange ¶
func (p *RoundStateMachineWorker) PreparePulseChange(report api.UpstreamReport, ch chan<- api.UpstreamState)
func (*RoundStateMachineWorker) SafeStartAndGetIsRunning ¶
func (p *RoundStateMachineWorker) SafeStartAndGetIsRunning() bool
func (*RoundStateMachineWorker) SetTimeout ¶
func (p *RoundStateMachineWorker) SetTimeout(deadline time.Time)
func (*RoundStateMachineWorker) Start ¶
func (p *RoundStateMachineWorker) Start()
func (*RoundStateMachineWorker) Stop ¶
func (p *RoundStateMachineWorker) Stop()
type RoundStrategy ¶
type RoundStrategyFactory ¶
type RoundStrategyFactory interface {
CreateRoundStrategy(online census.OnlinePopulation, config api.LocalNodeConfiguration) (RoundStrategy, PhaseControllersBundle)
}
Source Files ¶
Click to show internal directories.
Click to hide internal directories.