public LeaseAllocator( IBigBrother telemetry, ILeaseStore leaseStore, ISlottedInterval slottedInterval, IOptions <WorkerLeaseOptions> options) { _telemetry = telemetry ?? throw new ArgumentNullException(nameof(telemetry)); _leaseStore = leaseStore ?? throw new ArgumentNullException(nameof(leaseStore)); _slottedInterval = slottedInterval ?? throw new ArgumentNullException(nameof(slottedInterval)); _options = options ?? throw new ArgumentNullException(nameof(options)); }
public WorkerLease( IBigBrother telemetry, ILeaseAllocator leaseAllocator, ITimer timer, ISlottedInterval slottedInterval, IOptions <WorkerLeaseOptions> options) { _telemetry = telemetry ?? throw new ArgumentNullException(nameof(telemetry)); _leaseAllocator = leaseAllocator ?? throw new ArgumentNullException(nameof(leaseAllocator)); _options = options ?? throw new ArgumentNullException(nameof(options)); _timer = timer ?? throw new ArgumentNullException(nameof(timer)); _slottedInterval = slottedInterval ?? throw new ArgumentNullException(nameof(slottedInterval)); InstanceId = _options.Value.InstanceId ?? Guid.NewGuid(); if (string.IsNullOrWhiteSpace(_options.Value.WorkerType)) { throw new ArgumentOutOfRangeException($"{nameof(options.Value.WorkerType)} cannot be null or empty"); } }