class CatchupPollingProcess extends LifecycleAdapter {

    @Override
    public synchronized void start()
    {
        state = TX_PULLING;
        timer = timerService.create( TX_PULLER_TIMER, Group.PULL_UPDATES, timeout -> onTimeout() );
        timer.set( fixedTimeout( txPullIntervalMillis, MILLISECONDS ) );
        dbHealth = databaseHealthSupplier.get();
        upToDateFuture = new CompletableFuture<>();
    }

    public  CatchupPollingProcess( LogProvider logProvider, LocalDatabase localDatabase, Suspendable enableDisableOnSoreCopy, CatchUpClient catchUpClient,
                                  UpstreamDatabaseStrategySelector selectionStrategy, TimerService timerService, long txPullIntervalMillis,
                                  BatchingTxApplier applier, Monitors monitors, StoreCopyProcess storeCopyProcess,
                                  Supplier<DatabaseHealth> databaseHealthSupplier, TopologyService topologyService );

}