50 using SharedUdpPtr = std::shared_ptr<wpi::net::uv::Udp>;
51 using SharedTimerPtr = std::shared_ptr<wpi::net::uv::Timer>;
53 wpi::net::EventLoopRunner m_loopRunner{};
55 wpi::util::Logger m_logger;
56 std::function<uint64_t()> m_timeProvider;
59 SharedTimerPtr m_pingTimer;
61 std::string m_serverIP;
64 std::chrono::milliseconds m_loopDelay;
66 std::mutex m_offsetMutex{};
67 Metadata m_metadata{};
73 wpi::math::MedianFilter<int64_t> m_lastOffsets{30};
77 void UdpCallback(wpi::net::uv::Buffer& buf,
size_t nbytes,
78 const sockaddr& sender,
unsigned flags);
82 std::chrono::milliseconds ping_delay);