diff --git a/lib/remote/endpoint.cpp b/lib/remote/endpoint.cpp index e534fc178..9d4792392 100644 --- a/lib/remote/endpoint.cpp +++ b/lib/remote/endpoint.cpp @@ -17,6 +17,15 @@ REGISTER_TYPE(Endpoint); boost::signals2::signal Endpoint::OnConnected; boost::signals2::signal Endpoint::OnDisconnected; +INITIALIZE_ONCE(&Endpoint::ConfigStaticInitialize); + +void Endpoint::ConfigStaticInitialize() +{ + OnLocalLogPositionChanged.connect([](const Endpoint::Ptr& ep, const Value&) { + ep->GetReplayLog().Cleanup(ep->GetLocalLogPosition()); + }); +} + void Endpoint::OnAllConfigLoaded() { ObjectImpl::OnAllConfigLoaded(); diff --git a/lib/remote/endpoint.hpp b/lib/remote/endpoint.hpp index b3ee07468..8dd5189e7 100644 --- a/lib/remote/endpoint.hpp +++ b/lib/remote/endpoint.hpp @@ -43,6 +43,7 @@ public: bool GetConnected() const override; static Endpoint::Ptr GetLocalEndpoint(); + static void ConfigStaticInitialize(); inline ReplayLog& GetReplayLog() {