60 using SharedUdpPtr = std::shared_ptr<uv::Udp>;
61 using SharedTimerPtr = std::shared_ptr<uv::Timer>;
63 EventLoopRunner m_loopRunner{};
66 std::function<uint64_t()> m_timeProvider;
69 SharedTimerPtr m_pingTimer;
71 std::string m_serverIP;
74 std::chrono::milliseconds m_loopDelay;
76 std::mutex m_offsetMutex{};
77 Metadata m_metadata{};
83 frc::MedianFilter<int64_t> m_lastOffsets{30};
87 void UdpCallback(uv::Buffer& buf,
size_t nbytes,
const sockaddr& sender,
92 std::chrono::milliseconds ping_delay);