98 std::reference_wrapper<util::config::ClioConfigDefinition const> config_;
99 std::shared_ptr<BackendInterface> backend_;
100 std::shared_ptr<LoadBalancerInterface> balancer_;
101 std::shared_ptr<etl::NetworkValidatedLedgersInterface> ledgers_;
102 std::shared_ptr<LedgerPublisherInterface> publisher_;
103 std::shared_ptr<CacheLoaderInterface> cacheLoader_;
104 std::shared_ptr<CacheUpdaterInterface> cacheUpdater_;
105 std::shared_ptr<ExtractorInterface> extractor_;
106 std::shared_ptr<LoaderInterface> loader_;
107 std::shared_ptr<InitialLoadObserverInterface> initialLoadObserver_;
108 std::shared_ptr<etlng::TaskManagerProviderInterface> taskManagerProvider_;
109 std::shared_ptr<etl::SystemState> state_;
111 std::unique_ptr<MonitorInterface> monitor_;
112 std::unique_ptr<TaskManagerInterface> taskMan_;
114 boost::signals2::scoped_connection monitorSubscription_;
116 std::optional<util::async::AnyOperation<void>> mainLoop_;
138 std::reference_wrapper<util::config::ClioConfigDefinition const> config,
139 std::shared_ptr<data::BackendInterface> backend,
140 std::shared_ptr<LoadBalancerInterface> balancer,
141 std::shared_ptr<etl::NetworkValidatedLedgersInterface> ledgers,
142 std::shared_ptr<LedgerPublisherInterface> publisher,
143 std::shared_ptr<CacheLoaderInterface> cacheLoader,
144 std::shared_ptr<CacheUpdaterInterface> cacheUpdater,
145 std::shared_ptr<ExtractorInterface> extractor,
146 std::shared_ptr<LoaderInterface> loader,
147 std::shared_ptr<InitialLoadObserverInterface> initialLoadObserver,
148 std::shared_ptr<etlng::TaskManagerProviderInterface> taskManagerProvider,
149 std::shared_ptr<etl::SystemState> state
169 std::optional<etl::ETLState>
177 std::optional<data::LedgerRange>
178 loadInitialLedgerIfNeeded();
181 startMonitor(uint32_t seq);
184 startLoading(uint32_t seq);
This class is responsible for continuously extracting data from a p2p node, and writing that data to ...
Definition ETLService.hpp:94
std::uint32_t lastCloseAgeSeconds() const override
Get time passed since last ledger close, in seconds.
Definition ETLService.cpp:199
ETLService(util::async::AnyExecutionContext ctx, std::reference_wrapper< util::config::ClioConfigDefinition const > config, std::shared_ptr< data::BackendInterface > backend, std::shared_ptr< LoadBalancerInterface > balancer, std::shared_ptr< etl::NetworkValidatedLedgersInterface > ledgers, std::shared_ptr< LedgerPublisherInterface > publisher, std::shared_ptr< CacheLoaderInterface > cacheLoader, std::shared_ptr< CacheUpdaterInterface > cacheUpdater, std::shared_ptr< ExtractorInterface > extractor, std::shared_ptr< LoaderInterface > loader, std::shared_ptr< InitialLoadObserverInterface > initialLoadObserver, std::shared_ptr< etlng::TaskManagerProviderInterface > taskManagerProvider, std::shared_ptr< etl::SystemState > state)
Create an instance of ETLService.
Definition ETLService.cpp:82
A type-erased execution context.
Definition AnyExecutionContext.hpp:41