OplogFetcher::OplogFetcher(executor::TaskExecutor* executor, OpTime lastFetched, HostAndPort source, NamespaceString nss, ReplSetConfig config, std::size_t maxFetcherRestarts, int requiredRBID, bool requireFresherSyncSource, DataReplicatorExternalState* dataReplicatorExternalState, EnqueueDocumentsFn enqueueDocumentsFn, OnShutdownCallbackFn onShutdownCallbackFn, const int batchSize, StartingPoint startingPoint) : AbstractOplogFetcher(executor, lastFetched, source, nss, maxFetcherRestarts, onShutdownCallbackFn, "oplog fetcher"), _metadataObject(makeMetadataObject()), _requiredRBID(requiredRBID), _requireFresherSyncSource(requireFresherSyncSource), _dataReplicatorExternalState(dataReplicatorExternalState), _enqueueDocumentsFn(enqueueDocumentsFn), _awaitDataTimeout(calculateAwaitDataTimeout(config)), _batchSize(batchSize), _startingPoint(startingPoint) { invariant(config.isInitialized()); invariant(enqueueDocumentsFn); }