From d9649bd77704a5955426e3218adf360b9711fd28 Mon Sep 17 00:00:00 2001 From: RobertGnz <97563702+RobertGnz@users.noreply.github.com> Date: Fri, 19 Jan 2024 00:22:10 +0100 Subject: [PATCH 1/2] Update WiFiClient.h Add setTimeout( int ) and int getTimeout --- libraries/ESP8266WiFi/src/WiFiClient.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libraries/ESP8266WiFi/src/WiFiClient.h b/libraries/ESP8266WiFi/src/WiFiClient.h index 711adb6204..64829562e3 100644 --- a/libraries/ESP8266WiFi/src/WiFiClient.h +++ b/libraries/ESP8266WiFi/src/WiFiClient.h @@ -151,6 +151,12 @@ class WiFiClient : public Client, public SList { // Immediately stops this client instance. // Unlike stop(), does not wait to gracefuly shutdown the connection. void abort(); + + // Default timeout is set to 5000 ms. + // setTimeout gives the possibility to adjust this value. + // getTimeout return the timeout current value. + bool setTimeout( int ); + int getTimeout(); protected: From b6a5351b74f604129d69295790c894793921530b Mon Sep 17 00:00:00 2001 From: RobertGnz <97563702+RobertGnz@users.noreply.github.com> Date: Fri, 19 Jan 2024 00:25:08 +0100 Subject: [PATCH 2/2] Update WiFiClient.cpp Add setTimeout and getTimeout to allow changes of timeout value. --- libraries/ESP8266WiFi/src/WiFiClient.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libraries/ESP8266WiFi/src/WiFiClient.cpp b/libraries/ESP8266WiFi/src/WiFiClient.cpp index fb10209ec0..bdb29eb08c 100644 --- a/libraries/ESP8266WiFi/src/WiFiClient.cpp +++ b/libraries/ESP8266WiFi/src/WiFiClient.cpp @@ -387,6 +387,16 @@ void WiFiClient::abort() _client->abort(); // Wich in turn calls tcp_abort which calls tcp_abandon(). } +// In case you need to increase/decrease timeout current value +bool WiFiClient::setTimeout( int timeout_ms ) +{ + if ( timeout_ms <= 0 || timeout_ms > 3600000 ) return(false); // More than 0 and less than 1 hour + _timeout = timeout_ms; + if (!_client) return(true); + else _client->setTimeout(_timeout); + return(true); +} + void WiFiClient::stopAll() { for (WiFiClient* it = _s_first; it; it = it->_next) {