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;
84 class SocketTimer :
public wxTimer {
87 void Notify()
override { m_owner.OnTimerSocket(); }
93 class SocketReadWatchdogTimer :
public wxTimer {
96 : wxTimer(), m_owner(owner) {}
97 void Notify()
override { m_owner.OnSocketReadWatchdogTimer(); }
106 void OnServerSocketEvent(wxSocketEvent& event);
107 void OnTimerSocket();
108 void OnSocketEvent(wxSocketEvent& event);
109 void OnSocketReadWatchdogTimer();
110 void OpenNetworkGpsd();
111 void OpenNetworkTcp(
unsigned int addr);
112 void OpenNetworkUdp(
unsigned int addr);
113 void HandleN0183Msg(
const std::string& sentence);
114 bool SendSentenceNetwork(
const wxString& payload);
116 DriverStats GetDriverStats()
const override {
return m_driver_stats; }
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;