public LunchService(IGetLunchOptions lunchOptions, IRepository repo, IChaos random, IRestaurantCache cache) { this.lunchOptions = lunchOptions ?? throw new ArgumentNullException("lunchOptions"); this.random = random ?? throw new ArgumentNullException("RandomService"); this.repo = repo ?? throw new ArgumentNullException("repo"); this.cache = cache ?? throw new ArgumentNullException("cache"); }
public DefaultRaftServer( ILogPersister logPersister, IStatePersister statePersister, ISnapshotOperator snapshotOperator, IStateMachine stateMachine, IPeerManager peerManager, RaftServerSettings settings, Peer meAsAPeer = null, IChaos chaos = null) { _logPersister = logPersister; _peerManager = peerManager; _stateMachine = stateMachine; _snapshotOperator = snapshotOperator; _settings = settings; _state = new AutoPersistentState(statePersister); _meAsAPeer = meAsAPeer ?? new Peer("NoAddress", State.Id); _chaos = chaos ?? new NoChaos(); }