From 0c106540f5faffb48b018bdd2b681d6741322713 Mon Sep 17 00:00:00 2001 From: ZongyiYang Date: Sun, 10 Apr 2022 17:39:53 -0400 Subject: [PATCH 1/2] fixes if add() is successful but send() is not, write() will return no bytes written however the bytes still get added in the queue to be sent --- src/AsyncTCP.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/AsyncTCP.cpp b/src/AsyncTCP.cpp index 89ff6ee3..863a6bdd 100644 --- a/src/AsyncTCP.cpp +++ b/src/AsyncTCP.cpp @@ -1016,11 +1016,14 @@ size_t AsyncClient::write(const char* data) { } size_t AsyncClient::write(const char* data, size_t size, uint8_t apiflags) { - size_t will_send = add(data, size, apiflags); - if(!will_send || !send()) { - return 0; - } - return will_send; + size_t will_send = add(data, size, apiflags); + if (!will_send) { + return 0; + } + while (connected() && !send()) { + taskYIELD(); + } + return will_send; } void AsyncClient::setRxTimeout(uint32_t timeout){ From 7345318d3f273fa7da3d7f01769279d16cd7f69a Mon Sep 17 00:00:00 2001 From: ZongyiYang Date: Sun, 10 Apr 2022 17:53:27 -0400 Subject: [PATCH 2/2] change tabs to spaces --- src/AsyncTCP.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/AsyncTCP.cpp b/src/AsyncTCP.cpp index 863a6bdd..58f99ed1 100644 --- a/src/AsyncTCP.cpp +++ b/src/AsyncTCP.cpp @@ -1016,14 +1016,14 @@ size_t AsyncClient::write(const char* data) { } size_t AsyncClient::write(const char* data, size_t size, uint8_t apiflags) { - size_t will_send = add(data, size, apiflags); - if (!will_send) { - return 0; - } + size_t will_send = add(data, size, apiflags); + if (!will_send) { + return 0; + } while (connected() && !send()) { taskYIELD(); } - return will_send; + return will_send; } void AsyncClient::setRxTimeout(uint32_t timeout){