3#include <boost/signals2/connection.hpp>
4#include <boost/signals2/signal.hpp>
5#include <boost/signals2/variadic_signal.hpp>
19 static constexpr auto kDefaultRepeatInterval = std::chrono::seconds{1};
20 using NewSequenceSignalType = boost::signals2::signal<void(uint32_t)>;
21 using DbStalledSignalType = boost::signals2::signal<void()>;
45 [[nodiscard]]
virtual boost::signals2::scoped_connection
55 [[nodiscard]]
virtual boost::signals2::scoped_connection
64 run(std::chrono::steady_clock::duration repeatInterval = kDefaultRepeatInterval) = 0;
An interface for the monitor service An implementation of this service is responsible for periodicall...
Definition MonitorInterface.hpp:17
virtual boost::signals2::scoped_connection subscribeToNewSequence(NewSequenceSignalType::slot_type const &subscriber)=0
Allows clients to get notified when a new ledger becomes available in Clio's database.
virtual boost::signals2::scoped_connection subscribeToDbStalled(DbStalledSignalType::slot_type const &subscriber)=0
Allows clients to get notified when no database update is detected for a configured period.
virtual void notifySequenceLoaded(uint32_t seq)=0
Allows the loading process to notify of a freshly committed ledger.
virtual void notifyWriteConflict(uint32_t seq)=0
Notifies the monitor of a write conflict.
virtual void stop()=0
Stops the monitor service.
virtual void run(std::chrono::steady_clock::duration repeatInterval=kDefaultRepeatInterval)=0
Run the monitor service.