Documentation ¶
Index ¶
- type AcceptorQrmInfo
- type BackoffInfo
- type BackoffManager
- func (bm *BackoffManager) CheckAndHandleBackoff(inst int32, attemptedBal lwcproto.ConfigBal, preempter lwcproto.ConfigBal, ...) (bool, int32)
- func (bm *BackoffManager) ShouldBackoff(inst int32, preempter lwcproto.ConfigBal, preempterPhase stdpaxosproto.Phase) bool
- func (bm *BackoffManager) StillRelevant(backoff RetryInfo) bool
- func (bm *BackoffManager) StopBackoffs(inst int32)
- type Balloter
- type CrtInstanceOracle
- type DynamicAgentMapper
- type DynamicInstanceSetMapper
- type DynamicMappedGlobalManager
- func (decider *DynamicMappedGlobalManager) DecideRetry(pbk *PBK, retry RetryInfo) bool
- func (decider *DynamicMappedGlobalManager) LearnBallotChosen(instanceSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal)
- func (decider *DynamicMappedGlobalManager) LearnNoop(inst int32, who int32)
- func (decider *DynamicMappedGlobalManager) LearnOfBallot(instanceSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal, ...) bool
- func (decider *DynamicMappedGlobalManager) StartNextInstance(instanceSpace *[]*PBK, startFunc func(inst int32)) []int32
- type EagerFI
- func (manager *EagerFI) DecideRetry(pbk *PBK, retry RetryInfo) bool
- func (manager *EagerFI) GetCrtInstance() int32
- func (manager *EagerFI) GetReservationMsg() *proposerstate.State
- func (manager *EagerFI) HandleNewInstance(iSpace *[]*PBK, inst int32)
- func (manager *EagerFI) LearnBallotChosen(instanceSpace *[]*PBK, inst int32, at lwcproto.ConfigBal)
- func (manager *EagerFI) LearnOfBallot(iSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal, ...) bool
- func (manager *EagerFI) LearnOfBallotAccepted(iSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal, whosecmds int32)
- func (manager *EagerFI) StartNextInstance(instanceSpace *[]*PBK, startFunc func(inst int32)) []int32
- func (manager *EagerFI) StartNextProposal(pbk *PBK, inst int32)
- type EagerSig
- type FailureEstimator
- type GlobalInstanceManager
- type HedgedSig
- func (sig *HedgedSig) CheckAcceptedBallot(pbk *PBK, inst int32, ballot lwcproto.ConfigBal, whosecmds int32)
- func (sig *HedgedSig) CheckChosen(pbk *PBK, inst int32, ballot lwcproto.ConfigBal)
- func (sig *HedgedSig) CheckOngoingBallot(pbk *PBK, inst int32, ballot lwcproto.ConfigBal, phase stdpaxosproto.Phase)
- func (sig *HedgedSig) Opened(opened []int32)
- type InstanceQuormaliser
- type IntRange
- type LatenciesMsg
- type LearnerQuorumaliser
- type Minimal
- type MinimalProposersInstanceManager
- func (man *MinimalProposersInstanceManager) HandleProposalChosen(pbk *PBK, inst int32, ballot lwcproto.ConfigBal)
- func (man *MinimalProposersInstanceManager) HandleReceivedBallot(pbk *PBK, inst int32, ballot lwcproto.ConfigBal, phase stdpaxosproto.Phase) bool
- func (man *MinimalProposersInstanceManager) ShouldRetryInstance(pbk *PBK, retry RetryInfo) bool
- func (man *MinimalProposersInstanceManager) StartProposal(pbk *PBK, inst int32)
- type MinimalProposersShouldMaker
- func (p *MinimalProposersShouldMaker) BallotReceived(inst int32, ballot lwcproto.ConfigBal)
- func (p *MinimalProposersShouldMaker) Cleanup(inst int32)
- func (p *MinimalProposersShouldMaker) GetGroup(inst int32)
- func (p *MinimalProposersShouldMaker) GetOngoingProposal(inst int32, pid int16) lwcproto.ConfigBal
- func (p *MinimalProposersShouldMaker) GetOngoingProposals(inst int32) map[int16]lwcproto.ConfigBal
- func (p *MinimalProposersShouldMaker) SetOngoingProposals(inst int32, ballot lwcproto.ConfigBal)
- func (p *MinimalProposersShouldMaker) ShouldSkipInstance(inst int32) bool
- type NoopLearner
- type OpenInstSignal
- type PBK
- type ProposalManager
- type ProposerInstanceQuorumaliser
- type ProposerStatus
- type RetryInfo
- type SimpleGlobalManager
- func (manager *SimpleGlobalManager) DecideRetry(pbk *PBK, retry RetryInfo) bool
- func (manager *SimpleGlobalManager) GetCrtInstance() int32
- func (manager *SimpleGlobalManager) LearnBallotChosen(instanceSpace *[]*PBK, inst int32, at lwcproto.ConfigBal)
- func (manager *SimpleGlobalManager) LearnOfBallot(instanceSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal, ...) bool
- func (manager *SimpleGlobalManager) LearnOfBallotAccepted(instanceSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal, whosecmds int32)
- func (manager *SimpleGlobalManager) StartNextInstance(instanceSpace *[]*PBK, startFunc func(inst int32)) []int32
- func (manager *SimpleGlobalManager) StartNextProposal(pbk *PBK, inst int32)
- func (manager *SimpleGlobalManager) UpdateCurrentInstance(instsanceSpace *[]*PBK, inst int32)
- type SimpleHedgedBets
- func (manager *SimpleHedgedBets) DecideRetry(pbk *PBK, retry RetryInfo) bool
- func (manager *SimpleHedgedBets) LearnBallotChosen(instanceSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal)
- func (manager *SimpleHedgedBets) LearnNoop(inst int32, who int32)
- func (manager *SimpleHedgedBets) LearnOfBallot(instanceSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal, ...) bool
- func (manager *SimpleHedgedBets) LearnOfBallotAccepted(instanceSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal, whosecmds int32)
- func (manager *SimpleHedgedBets) StartNextInstance(instanceSpace *[]*PBK, startFunc func(inst int32)) []int32
- type SimpleInstanceManager
- func (man *SimpleInstanceManager) HandleProposalChosen(pbk *PBK, inst int32, ballot lwcproto.ConfigBal)
- func (man *SimpleInstanceManager) HandleReceivedBallot(pbk *PBK, inst int32, ballot lwcproto.ConfigBal, phase stdpaxosproto.Phase) bool
- func (man *SimpleInstanceManager) InitInstance(inst int32) *PBK
- func (man *SimpleInstanceManager) ShouldRetryInstance(pbk *PBK, retry RetryInfo) bool
- func (man *SimpleInstanceManager) StartProposal(pbk *PBK, inst int32)
- type SimpleSig
- func (sig *SimpleSig) CheckAcceptedBallot(pbk *PBK, inst int32, ballot lwcproto.ConfigBal, whosecmds int32)
- func (sig *SimpleSig) CheckChosen(pbk *PBK, inst int32, ballot lwcproto.ConfigBal)
- func (sig *SimpleSig) CheckOngoingBallot(pbk *PBK, inst int32, ballot lwcproto.ConfigBal, phase stdpaxosproto.Phase)
- func (sig *SimpleSig) Opened(opened []int32)
- type SingleInstanceManager
- type Standard
- type StaticMapped
- type StaticMappedProposalManager
- func (manager *StaticMappedProposalManager) GetProposerInstanceMapper() instanceagentmapper.InstanceAgentMapper
- func (manager *StaticMappedProposalManager) LearnBallotChosen(instanceSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal)
- func (manager *StaticMappedProposalManager) LearnOfBallot(instanceSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal, ...) bool
- func (manager *StaticMappedProposalManager) LearnOfBallotAccepted(instanceSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal, whosecmds int32)
- func (manager *StaticMappedProposalManager) StartNextInstance(instanceSpace *[]*PBK, startFunc func(inst int32)) []int32
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AcceptorQrmInfo ¶
type BackoffInfo ¶
type BackoffInfo struct {
// contains filtered or unexported fields
}
type BackoffManager ¶
type BackoffManager struct { BackoffInfo // contains filtered or unexported fields }
func BackoffManagerNew ¶
func (*BackoffManager) CheckAndHandleBackoff ¶
func (bm *BackoffManager) CheckAndHandleBackoff(inst int32, attemptedBal lwcproto.ConfigBal, preempter lwcproto.ConfigBal, prempterPhase stdpaxosproto.Phase) (bool, int32)
func (*BackoffManager) ShouldBackoff ¶
func (bm *BackoffManager) ShouldBackoff(inst int32, preempter lwcproto.ConfigBal, preempterPhase stdpaxosproto.Phase) bool
func (*BackoffManager) StillRelevant ¶
func (bm *BackoffManager) StillRelevant(backoff RetryInfo) bool
func (*BackoffManager) StopBackoffs ¶
func (bm *BackoffManager) StopBackoffs(inst int32)
type Balloter ¶
type Balloter struct {
PropID, N, MaxInc int32
TimeSinceValueLastSelected time.Time
DoTimeBasedBallot bool
}
func (*Balloter) GetAttemptNumber ¶
func (*Balloter) GetNextProposingBal ¶
func (*Balloter) UpdateProposalChosen ¶
func (balloter *Balloter) UpdateProposalChosen()
type CrtInstanceOracle ¶
type CrtInstanceOracle interface {
GetCrtInstance() int32
}
type DynamicAgentMapper ¶
type DynamicAgentMapper interface { instanceagentmapper.InstanceAgentMapper SetGroup(g int32) }
type DynamicInstanceSetMapper ¶
type DynamicInstanceSetMapper struct {
instanceagentmapper.DetRandInstanceSetMapper
}
func (*DynamicInstanceSetMapper) SetGroup ¶
func (m *DynamicInstanceSetMapper) SetGroup(g int32)
type DynamicMappedGlobalManager ¶
type DynamicMappedGlobalManager struct { *StaticMappedProposalManager DynamicAgentMapper // contains filtered or unexported fields }
func DynamicMappedProposerManagerNew ¶
func DynamicMappedProposerManagerNew(proposalManager *SimpleGlobalManager, iMan SingleInstanceManager, aMapper DynamicAgentMapper, n int32, f int32) *DynamicMappedGlobalManager
func (*DynamicMappedGlobalManager) DecideRetry ¶
func (decider *DynamicMappedGlobalManager) DecideRetry(pbk *PBK, retry RetryInfo) bool
func (*DynamicMappedGlobalManager) LearnBallotChosen ¶
func (decider *DynamicMappedGlobalManager) LearnBallotChosen(instanceSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal)
func (*DynamicMappedGlobalManager) LearnNoop ¶
func (decider *DynamicMappedGlobalManager) LearnNoop(inst int32, who int32)
func (*DynamicMappedGlobalManager) LearnOfBallot ¶
func (decider *DynamicMappedGlobalManager) LearnOfBallot(instanceSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal, phase stdpaxosproto.Phase) bool
func (*DynamicMappedGlobalManager) StartNextInstance ¶
func (decider *DynamicMappedGlobalManager) StartNextInstance(instanceSpace *[]*PBK, startFunc func(inst int32)) []int32
type EagerFI ¶
type EagerFI struct { SingleInstanceManager *EagerSig *BackoffManager *genericsmr.Replica instanceagentmapper.DetRandInstanceSetMapper // contains filtered or unexported fields }
func EagerForwardInductionProposalManagerNew ¶
func EagerForwardInductionProposalManagerNew(n int32, id int32, signal *EagerSig, iManager SingleInstanceManager, backoffManager *BackoffManager, replica *genericsmr.Replica, stateRPC uint8) *EagerFI
func (*EagerFI) GetCrtInstance ¶
func (*EagerFI) GetReservationMsg ¶
func (manager *EagerFI) GetReservationMsg() *proposerstate.State
func (*EagerFI) HandleNewInstance ¶
func (*EagerFI) LearnBallotChosen ¶
func (*EagerFI) LearnOfBallot ¶
func (*EagerFI) LearnOfBallotAccepted ¶
func (*EagerFI) StartNextInstance ¶
func (*EagerFI) StartNextProposal ¶
type EagerSig ¶
func EagerSigNew ¶
func (*EagerSig) CheckChosen ¶
func (*EagerSig) Close ¶
func (sig *EagerSig) CheckOngoingBallot(pbk *PBK, inst int32, ballot lwcproto.ConfigBal, phase stdpaxosproto.Phase) { if pbk.Status == CLOSED { return } _, e := sig.instsStarted[inst] if !e { return } if int32(ballot.PropID) == sig.id && pbk.Status != PROPOSING { return } if (pbk.PropCurBal.Equal(ballot) || pbk.PropCurBal.GreaterThan(ballot)) && phase == stdpaxosproto.PROMISE { return } if pbk.Status == PROPOSING && phase == stdpaxosproto.ACCEPTANCE { // we are already proopsing our own value return } //if pbk.PropCurBal.GreaterThan(ballot) && pbk.Status == PROPOSING && phase == stdpaxosproto.ACCEPTANCE { // return //} dlog.AgentPrintfN(sig.id, "Signalling to open new instance as instance %d %s", inst, "as it is preempted") go func() { sig.sigNewInst <- struct{}{} }() delete(sig.instsStarted, inst) }
type FailureEstimator ¶
type FailureEstimator struct { *genericsmr.Replica // contains filtered or unexported fields }
func FailureEstimatorNew ¶
func FailureEstimatorNew(replica *genericsmr.Replica) *FailureEstimator
func (*FailureEstimator) GetChan ¶
func (est *FailureEstimator) GetChan() chan fastrpc.Serializable
func (*FailureEstimator) SendLatencies ¶
func (est *FailureEstimator) SendLatencies()
type GlobalInstanceManager ¶
type GlobalInstanceManager interface { CrtInstanceOracle ProposalManager }
type HedgedSig ¶
type HedgedSig struct {
// contains filtered or unexported fields
}
func HedgedSigNew ¶
func (*HedgedSig) CheckAcceptedBallot ¶
func (*HedgedSig) CheckChosen ¶
func (*HedgedSig) CheckOngoingBallot ¶
type InstanceQuormaliser ¶
type InstanceQuormaliser interface { ProposerInstanceQuorumaliser LearnerQuorumaliser AcceptorQrmInfo }
type IntRange ¶
type IntRange struct {
// contains filtered or unexported fields
}
range specification, note that min <= max
type LatenciesMsg ¶
func (LatenciesMsg) Marshal ¶
func (l LatenciesMsg) Marshal(writer io.Writer)
func (LatenciesMsg) New ¶
func (l LatenciesMsg) New() fastrpc.Serializable
type LearnerQuorumaliser ¶
type Minimal ¶
type Minimal struct { AcceptorMapper instanceagentmapper.InstanceAgentMapper MapperCache map[int32][]int32 quorumsystem.SynodQuorumSystemConstructor MyID int32 }
func (*Minimal) StartPromiseQuorumOnCurBal ¶
type MinimalProposersInstanceManager ¶
type MinimalProposersInstanceManager struct { *SimpleInstanceManager *MinimalProposersShouldMaker }
func MinimalProposersInstanceManagerNew ¶
func MinimalProposersInstanceManagerNew(manager *SimpleInstanceManager, minimalProposer *MinimalProposersShouldMaker) *MinimalProposersInstanceManager
func (*MinimalProposersInstanceManager) HandleProposalChosen ¶
func (man *MinimalProposersInstanceManager) HandleProposalChosen(pbk *PBK, inst int32, ballot lwcproto.ConfigBal)
func (*MinimalProposersInstanceManager) HandleReceivedBallot ¶
func (man *MinimalProposersInstanceManager) HandleReceivedBallot(pbk *PBK, inst int32, ballot lwcproto.ConfigBal, phase stdpaxosproto.Phase) bool
func (*MinimalProposersInstanceManager) ShouldRetryInstance ¶
func (man *MinimalProposersInstanceManager) ShouldRetryInstance(pbk *PBK, retry RetryInfo) bool
func (*MinimalProposersInstanceManager) StartProposal ¶
func (man *MinimalProposersInstanceManager) StartProposal(pbk *PBK, inst int32)
type MinimalProposersShouldMaker ¶
type MinimalProposersShouldMaker struct {
// contains filtered or unexported fields
}
does not protect against own ballots - user must make sure ballot is not own
func MinimalProposersShouldMakerNew ¶
func MinimalProposersShouldMakerNew(id int16, f int) *MinimalProposersShouldMaker
func (*MinimalProposersShouldMaker) BallotReceived ¶
func (p *MinimalProposersShouldMaker) BallotReceived(inst int32, ballot lwcproto.ConfigBal)
func (*MinimalProposersShouldMaker) Cleanup ¶
func (p *MinimalProposersShouldMaker) Cleanup(inst int32)
func (*MinimalProposersShouldMaker) GetGroup ¶
func (p *MinimalProposersShouldMaker) GetGroup(inst int32)
func (*MinimalProposersShouldMaker) GetOngoingProposal ¶
func (p *MinimalProposersShouldMaker) GetOngoingProposal(inst int32, pid int16) lwcproto.ConfigBal
func (*MinimalProposersShouldMaker) GetOngoingProposals ¶
func (p *MinimalProposersShouldMaker) GetOngoingProposals(inst int32) map[int16]lwcproto.ConfigBal
func (*MinimalProposersShouldMaker) SetOngoingProposals ¶
func (p *MinimalProposersShouldMaker) SetOngoingProposals(inst int32, ballot lwcproto.ConfigBal)
func (*MinimalProposersShouldMaker) ShouldSkipInstance ¶
func (p *MinimalProposersShouldMaker) ShouldSkipInstance(inst int32) bool
type NoopLearner ¶
type OpenInstSignal ¶
type PBK ¶
type PBK struct { Status ProposerStatus Qrms map[lwcproto.ConfigBal]quorumsystem.SynodQuorumSystem ProposeValueBal lwcproto.ConfigBal // highest ProposeValueBal at which a command was accepted WhoseCmds int32 Cmds []*state.Command // the accepted command PropCurBal lwcproto.ConfigBal // highest this replica ProposeValueBal tried so far ClientProposals batching.ProposalBatch MaxKnownBal lwcproto.ConfigBal }
func GetEmptyInstance ¶
func GetEmptyInstance() *PBK
func (*PBK) PutBatch ¶
func (pbk *PBK) PutBatch(bat batching.ProposalBatch)
func (*PBK) SetNowProposing ¶
func (pbk *PBK) SetNowProposing()
type ProposalManager ¶
type ProposalManager interface { StartNextInstance(instanceSpace *[]*PBK, startFunc func(inst int32)) []int32 StartNextProposal(initiator *PBK, inst int32) //ProposingValue(instanceSpace *[]*PBK, inst int32, ballot stdpaxosproto.Ballot) LearnOfBallot(instanceSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal, phase stdpaxosproto.Phase) bool // returns if proposer's ballot is preempted LearnOfBallotAccepted(instanceSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal, whosecmds int32) LearnBallotChosen(instanceSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal) DecideRetry(pbk *PBK, retry RetryInfo) bool }
type ProposerStatus ¶
type ProposerStatus int
const ( NOT_BEGUN ProposerStatus = iota BACKING_OFF PREPARING READY_TO_PROPOSE PROPOSING CLOSED )
type SimpleGlobalManager ¶
type SimpleGlobalManager struct { SingleInstanceManager OpenInstSignal *BackoffManager // contains filtered or unexported fields }
func SimpleProposalManagerNew ¶
func SimpleProposalManagerNew(id int32, signal OpenInstSignal, iManager SingleInstanceManager, backoffManager *BackoffManager) *SimpleGlobalManager
func (*SimpleGlobalManager) DecideRetry ¶
func (manager *SimpleGlobalManager) DecideRetry(pbk *PBK, retry RetryInfo) bool
func (*SimpleGlobalManager) GetCrtInstance ¶
func (manager *SimpleGlobalManager) GetCrtInstance() int32
func (*SimpleGlobalManager) LearnBallotChosen ¶
func (manager *SimpleGlobalManager) LearnBallotChosen(instanceSpace *[]*PBK, inst int32, at lwcproto.ConfigBal)
func (*SimpleGlobalManager) LearnOfBallot ¶
func (manager *SimpleGlobalManager) LearnOfBallot(instanceSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal, phase stdpaxosproto.Phase) bool
func (*SimpleGlobalManager) LearnOfBallotAccepted ¶
func (*SimpleGlobalManager) StartNextInstance ¶
func (manager *SimpleGlobalManager) StartNextInstance(instanceSpace *[]*PBK, startFunc func(inst int32)) []int32
func (*SimpleGlobalManager) StartNextProposal ¶
func (manager *SimpleGlobalManager) StartNextProposal(pbk *PBK, inst int32)
func (*SimpleGlobalManager) UpdateCurrentInstance ¶
func (manager *SimpleGlobalManager) UpdateCurrentInstance(instsanceSpace *[]*PBK, inst int32)
type SimpleHedgedBets ¶
type SimpleHedgedBets struct { *SimpleGlobalManager // contains filtered or unexported fields }
func HedgedBetsProposalManagerNew ¶
func HedgedBetsProposalManagerNew(id int32, manager *SimpleGlobalManager, n int32, initialHedge int32) *SimpleHedgedBets
func (*SimpleHedgedBets) DecideRetry ¶
func (manager *SimpleHedgedBets) DecideRetry(pbk *PBK, retry RetryInfo) bool
func (*SimpleHedgedBets) LearnBallotChosen ¶
func (manager *SimpleHedgedBets) LearnBallotChosen(instanceSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal)
func (*SimpleHedgedBets) LearnNoop ¶
func (manager *SimpleHedgedBets) LearnNoop(inst int32, who int32)
func (*SimpleHedgedBets) LearnOfBallot ¶
func (manager *SimpleHedgedBets) LearnOfBallot(instanceSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal, phase stdpaxosproto.Phase) bool
func (*SimpleHedgedBets) LearnOfBallotAccepted ¶
func (*SimpleHedgedBets) StartNextInstance ¶
func (manager *SimpleHedgedBets) StartNextInstance(instanceSpace *[]*PBK, startFunc func(inst int32)) []int32
type SimpleInstanceManager ¶
type SimpleInstanceManager struct { *BackoffManager Balloter ProposerInstanceQuorumaliser *stats.TimeseriesStats *stats.ProposalStats *stats.InstanceStats // contains filtered or unexported fields }
func SimpleInstanceManagerNew ¶
func SimpleInstanceManagerNew(id int32, manager *BackoffManager, balloter Balloter, doStats bool, qrm ProposerInstanceQuorumaliser, tsStats *stats.TimeseriesStats, proposalStats *stats.ProposalStats, instanceStats *stats.InstanceStats) *SimpleInstanceManager
func (*SimpleInstanceManager) HandleProposalChosen ¶
func (man *SimpleInstanceManager) HandleProposalChosen(pbk *PBK, inst int32, ballot lwcproto.ConfigBal)
func (*SimpleInstanceManager) HandleReceivedBallot ¶
func (man *SimpleInstanceManager) HandleReceivedBallot(pbk *PBK, inst int32, ballot lwcproto.ConfigBal, phase stdpaxosproto.Phase) bool
func (*SimpleInstanceManager) InitInstance ¶
func (man *SimpleInstanceManager) InitInstance(inst int32) *PBK
func (*SimpleInstanceManager) ShouldRetryInstance ¶
func (man *SimpleInstanceManager) ShouldRetryInstance(pbk *PBK, retry RetryInfo) bool
func (*SimpleInstanceManager) StartProposal ¶
func (man *SimpleInstanceManager) StartProposal(pbk *PBK, inst int32)
type SimpleSig ¶
type SimpleSig struct {
// contains filtered or unexported fields
}
func SimpleSigNew ¶
func (*SimpleSig) CheckAcceptedBallot ¶
func (*SimpleSig) CheckChosen ¶
func (*SimpleSig) CheckOngoingBallot ¶
type SingleInstanceManager ¶
type SingleInstanceManager interface { InitInstance(inst int32) *PBK StartProposal(pbk *PBK, inst int32) ShouldRetryInstance(pbk *PBK, retry RetryInfo) bool HandleReceivedBallot(pbk *PBK, inst int32, ballot lwcproto.ConfigBal, phase stdpaxosproto.Phase) bool //HandleAcceptedBallot(pbk *PBK, inst int32, ballot stdpaxosproto.Ballot, cmd []state.Command) HandleProposalChosen(pbk *PBK, inst int32, ballot lwcproto.ConfigBal) }
type Standard ¶
type Standard struct { quorumsystem.SynodQuorumSystemConstructor Aids []int32 MyID int32 }
////////////////////////////// STANDARD /////////////////////////////
func (*Standard) StartPromiseQuorumOnCurBal ¶
type StaticMapped ¶
type StaticMapped struct { AcceptorMapper instanceagentmapper.FixedInstanceAgentMapping //MapperCache map[int32][]int32 quorumsystem.SynodQuorumSystemConstructor MyID int32 }
func (StaticMapped) GetGroup ¶
func (qrl StaticMapped) GetGroup(inst int32) []int32
func (StaticMapped) StartPromiseQuorumOnCurBal ¶
func (qrl StaticMapped) StartPromiseQuorumOnCurBal(pbk *PBK, inst int32)
func (StaticMapped) TrackProposalAcceptance ¶
func (qrl StaticMapped) TrackProposalAcceptance(pbk *PBK, inst int32, bal lwcproto.ConfigBal)
type StaticMappedProposalManager ¶
type StaticMappedProposalManager struct { SingleInstanceManager *SimpleGlobalManager instanceagentmapper.InstanceAgentMapper }
func MappedProposersProposalManagerNew ¶
func MappedProposersProposalManagerNew(simpleProposalManager *SimpleGlobalManager, iMan SingleInstanceManager, agentMapper instanceagentmapper.InstanceAgentMapper) *StaticMappedProposalManager
func (*StaticMappedProposalManager) GetProposerInstanceMapper ¶
func (manager *StaticMappedProposalManager) GetProposerInstanceMapper() instanceagentmapper.InstanceAgentMapper
func (*StaticMappedProposalManager) LearnBallotChosen ¶
func (manager *StaticMappedProposalManager) LearnBallotChosen(instanceSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal)
func (*StaticMappedProposalManager) LearnOfBallot ¶
func (manager *StaticMappedProposalManager) LearnOfBallot(instanceSpace *[]*PBK, inst int32, ballot lwcproto.ConfigBal, phase stdpaxosproto.Phase) bool
todo should retry only if still in group
func (*StaticMappedProposalManager) LearnOfBallotAccepted ¶
func (*StaticMappedProposalManager) StartNextInstance ¶
func (manager *StaticMappedProposalManager) StartNextInstance(instanceSpace *[]*PBK, startFunc func(inst int32)) []int32
Click to show internal directories.
Click to hide internal directories.