예제 #1
0
 public RaftMembershipManager(SendToMyself sendToMyself, RaftGroup_Builder <MemberId> memberSetBuilder, ReadableRaftLog raftLog, LogProvider logProvider, int minimumConsensusGroupSize, long electionTimeout, Clock clock, long catchupTimeout, StateStorage <RaftMembershipState> membershipStorage)
 {
     this._sendToMyself              = sendToMyself;
     this._memberSetBuilder          = memberSetBuilder;
     this._raftLog                   = raftLog;
     this._minimumConsensusGroupSize = minimumConsensusGroupSize;
     this._storage                   = membershipStorage;
     this._log = logProvider.getLog(this.GetType());
     this._membershipChanger = new RaftMembershipChanger(raftLog, clock, electionTimeout, logProvider, catchupTimeout, this);
 }
예제 #2
0
 public ConsensusInProgress(RaftMembershipChanger outerInstance) : base(outerInstance)
 {
     this._outerInstance = outerInstance;
 }
예제 #3
0
 internal CatchingUp(RaftMembershipChanger outerInstance, MemberId member) : base(outerInstance)
 {
     this._outerInstance            = outerInstance;
     this.CatchupGoalTracker        = new CatchupGoalTracker(outerInstance.raftLog, outerInstance.clock, outerInstance.electionTimeout, outerInstance.catchupTimeout);
     outerInstance.catchingUpMember = member;
 }
예제 #4
0
 public Idle(RaftMembershipChanger outerInstance) : base(outerInstance)
 {
     this._outerInstance = outerInstance;
 }
예제 #5
0
 public ActiveBaseState(RaftMembershipChanger outerInstance)
 {
     this._outerInstance = outerInstance;
 }
예제 #6
0
 public Inactive(RaftMembershipChanger outerInstance)
 {
     this._outerInstance = outerInstance;
 }