public DocumentServiceLeaseStoreManager( DocumentServiceLeaseStoreManagerSettings settings, IChangeFeedDocumentClient leaseDocumentClient, IRequestOptionsFactory requestOptionsFactory) : this(settings, leaseDocumentClient, requestOptionsFactory, new DocumentServiceLeaseUpdater(leaseDocumentClient)) { }
/// <summary> /// Initializes a new instance of the <see cref="DocumentServiceLeaseStoreManager"/> class. /// </summary> /// <remarks> /// Internal only for testing purposes, otherwise would be private. /// </remarks> internal DocumentServiceLeaseStoreManager( DocumentServiceLeaseStoreManagerSettings settings, IChangeFeedDocumentClient leaseDocumentClient, IRequestOptionsFactory requestOptionsFactory, IDocumentServiceLeaseUpdater leaseUpdater) // For testing purposes only. { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } if (settings.LeaseCollectionInfo == null) { throw new ArgumentNullException(nameof(settings.LeaseCollectionInfo)); } if (settings.ContainerNamePrefix == null) { throw new ArgumentNullException(nameof(settings.ContainerNamePrefix)); } if (settings.LeaseCollectionLink == null) { throw new ArgumentNullException(nameof(settings.LeaseCollectionLink)); } if (string.IsNullOrEmpty(settings.HostName)) { throw new ArgumentNullException(nameof(settings.HostName)); } if (leaseDocumentClient == null) { throw new ArgumentNullException(nameof(leaseDocumentClient)); } if (requestOptionsFactory == null) { throw new ArgumentException(nameof(requestOptionsFactory)); } if (leaseUpdater == null) { throw new ArgumentException(nameof(leaseUpdater)); } this.settings = settings; this.client = leaseDocumentClient; this.requestOptionsFactory = requestOptionsFactory; this.leaseUpdater = leaseUpdater; this.leaseStore = new DocumentServiceLeaseStore( this.client, this.settings.LeaseCollectionInfo, this.settings.ContainerNamePrefix, this.settings.LeaseCollectionLink, this.requestOptionsFactory); }