File tree Expand file tree Collapse file tree 4 files changed +16
-1
lines changed
Expand file tree Collapse file tree 4 files changed +16
-1
lines changed Original file line number Diff line number Diff line change @@ -78,7 +78,7 @@ NetworkConnectionState ConnectionHandler::updateConnectionState() {
7878 case NetworkConnectionState::CONNECTED: next_net_connection_state = update_handleConnected (); break ;
7979 case NetworkConnectionState::DISCONNECTING: next_net_connection_state = update_handleDisconnecting (); break ;
8080 case NetworkConnectionState::DISCONNECTED: next_net_connection_state = update_handleDisconnected (); break ;
81- case NetworkConnectionState::ERROR: break ;
81+ case NetworkConnectionState::ERROR: next_net_connection_state = update_handleError (); break ;
8282 case NetworkConnectionState::CLOSED: break ;
8383 }
8484
@@ -88,6 +88,15 @@ NetworkConnectionState ConnectionHandler::updateConnectionState() {
8888 return next_net_connection_state;
8989}
9090
91+ NetworkConnectionState ConnectionHandler::update_handleError ()
92+ {
93+ if (_keep_alive) {
94+ return NetworkConnectionState::INIT;
95+ }
96+
97+ return NetworkConnectionState::ERROR;
98+ }
99+
91100void ConnectionHandler::updateCallback (NetworkConnectionState next_net_connection_state) {
92101
93102 /* Check the next state to determine the kind of state conversion which has occurred (and call the appropriate callback) */
Original file line number Diff line number Diff line change @@ -124,6 +124,7 @@ class ConnectionHandler {
124124 virtual NetworkConnectionState update_handleConnected () = 0;
125125 virtual NetworkConnectionState update_handleDisconnecting () = 0;
126126 virtual NetworkConnectionState update_handleDisconnected () = 0;
127+ virtual NetworkConnectionState update_handleError ();
127128
128129 models::NetworkSetting _settings;
129130
Original file line number Diff line number Diff line change @@ -180,3 +180,7 @@ NetworkConnectionState GenericConnectionHandler::update_handleDisconnecting() {
180180NetworkConnectionState GenericConnectionHandler::update_handleDisconnected () {
181181 return _ch != nullptr ? _ch->update_handleDisconnected () : NetworkConnectionState::INIT;
182182}
183+
184+ NetworkConnectionState GenericConnectionHandler::update_handleError () {
185+ return _ch != nullptr ? _ch->update_handleError () : NetworkConnectionState::INIT;
186+ }
Original file line number Diff line number Diff line change @@ -69,6 +69,7 @@ class GenericConnectionHandler : public ConnectionHandler
6969 NetworkConnectionState update_handleConnected () override ;
7070 NetworkConnectionState update_handleDisconnecting () override ;
7171 NetworkConnectionState update_handleDisconnected () override ;
72+ NetworkConnectionState update_handleError () override ;
7273
7374 private:
7475
You can’t perform that action at this time.
0 commit comments