/// <summary> /// Local node /// </summary> /// <param name="nodeId"></param> /// <param name="stateMachine"></param> /// <param name="log"></param> /// <param name="electionTimeoutRandom"></param> /// <param name="commandSerializer"></param> /// <param name="settings"></param> public LocalNode( NodeId nodeId, IReplicatedStateMachine stateMachine, ILog log, IElectionTimeoutRandom electionTimeoutRandom, ICommandSerializer commandSerializer, IRaftSettings settings) { Id = nodeId.Id; ServiceUri = nodeId.ServiceUri; Role = NodeRole.Follower; _stateMachine = stateMachine; _log = log; _electionTimeoutRandom = electionTimeoutRandom; _commandSerializer = commandSerializer; _heartbeatMilliseconds = settings.HeartbeatMilliseconds <= 0 ? 100 : settings.HeartbeatMilliseconds; _commandTimeoutMilliseconds = settings.CommandTimeoutMilliseconds <= 0 ? 3000 : settings.CommandTimeoutMilliseconds; _appendEntriesBatchSize = settings.AppendEntriesBatchSize <= 0 ? 100 : settings.AppendEntriesBatchSize; }
public ReplicatedStateMachineController(IReplicatedStateMachine replicated) { _replicated = replicated; }
public DistributedStoreController(IReplicatedStateMachine replicated) { _replicated = replicated; }