78 const wxSocketBase* GetSock()
const {
return m_sock; }
80 bool SendMessage(std::shared_ptr<const NavMsg> msg,
81 std::shared_ptr<const NavAddr> addr)
override;
83 DriverStats GetDriverStats()
const override {
return m_driver_stats; }
86 class SocketTimer :
public wxTimer {
89 void Notify()
override { m_owner.OnTimerSocket(); }
95 class SocketReadWatchdogTimer :
public wxTimer {
98 : wxTimer(), m_owner(owner) {}
99 void Notify()
override { m_owner.OnSocketReadWatchdogTimer(); }
108 void OnServerSocketEvent(wxSocketEvent& event);
109 void OnTimerSocket();
110 void OnSocketEvent(wxSocketEvent& event);
111 void OnSocketReadWatchdogTimer();
112 void OpenNetworkGpsd();
113 void OpenNetworkTcp(
unsigned int addr);
114 void OpenNetworkUdp(
unsigned int addr);
115 void HandleN0183Msg(
const std::string& sentence);
116 bool SendSentenceNetwork(
const wxString& payload);
121 wxIPV4address m_addr;
122 wxSocketBase* m_sock;
123 wxSocketBase* m_tsock;
124 wxSocketServer* m_socket_server;
126 std::unique_ptr<MrqContainer> m_mrq_container;
132 std::chrono::time_point<std::chrono::steady_clock> m_connect_time;
133 bool m_rx_connect_event;
135 SocketTimer m_socket_timer;
136 SocketReadWatchdogTimer m_socketread_watchdog_timer;
139 bool m_is_conn_err_reported;