@@ -201,7 +201,8 @@ int8_t AsyncClient::abort(){
201
201
}
202
202
203
203
void AsyncClient::close (bool now){
204
- tcp_recved (_pcb, _rx_ack_len);
204
+ if (_pcb)
205
+ tcp_recved (_pcb, _rx_ack_len);
205
206
if (now)
206
207
_close ();
207
208
else
@@ -366,10 +367,14 @@ void AsyncClient::_ssl_error(int8_t err){
366
367
#endif
367
368
368
369
err_t AsyncClient::_sent (tcp_pcb* pcb, uint16_t len) {
370
+ #if ASYNC_TCP_SSL_ENABLED
371
+ if (_pcb_secure && !_handshake_done)
372
+ return ERR_OK;
373
+ #endif
369
374
_rx_last_packet = millis ();
370
- ASYNC_TCP_DEBUG (" _sent: %u\n " , len);
371
375
_tx_unacked_len -= len;
372
376
_tx_acked_len += len;
377
+ ASYNC_TCP_DEBUG (" _sent: %u (%d %d)\n " , len, _tx_unacked_len, _tx_acked_len);
373
378
if (_tx_unacked_len == 0 ){
374
379
_pcb_busy = false ;
375
380
if (_sent_cb)
@@ -395,7 +400,7 @@ err_t AsyncClient::_recv(tcp_pcb* pcb, pbuf* pb, err_t err) {
395
400
ASYNC_TCP_DEBUG (" _recv err: %d\n " , read_bytes);
396
401
_close ();
397
402
}
398
- return read_bytes;
403
+ // return read_bytes;
399
404
}
400
405
return ERR_OK;
401
406
}
@@ -743,27 +748,43 @@ void AsyncClient::ackPacket(struct pbuf * pb){
743
748
pbuf_free (pb);
744
749
}
745
750
746
- const char * AsyncClient::errorToString (int8_t error){
747
- switch (error){
748
- case 0 : return " OK" ;
749
- case -1 : return " Out of memory error" ;
750
- case -2 : return " Buffer error" ;
751
- case -3 : return " Timeout" ;
752
- case -4 : return " Routing problem" ;
753
- case -5 : return " Operation in progress" ;
754
- case -6 : return " Illegal value" ;
755
- case -7 : return " Operation would block" ;
756
- case -8 : return " Connection aborted" ;
757
- case -9 : return " Connection reset" ;
758
- case -10 : return " Connection closed" ;
759
- case -11 : return " Not connected" ;
760
- case -12 : return " Illegal argument" ;
761
- case -13 : return " Address in use" ;
762
- case -14 : return " Low-level netif error" ;
763
- case -15 : return " Already connected" ;
764
- case -55 : return " DNS failed" ;
765
- default : return " UNKNOWN" ;
766
- }
751
+ const char * AsyncClient::errorToString (int8_t error) {
752
+ switch (error) {
753
+ case ERR_OK:
754
+ return " OK" ;
755
+ case ERR_MEM:
756
+ return " Out of memory error" ;
757
+ case ERR_BUF:
758
+ return " Buffer error" ;
759
+ case ERR_TIMEOUT:
760
+ return " Timeout" ;
761
+ case ERR_RTE:
762
+ return " Routing problem" ;
763
+ case ERR_INPROGRESS:
764
+ return " Operation in progress" ;
765
+ case ERR_VAL:
766
+ return " Illegal value" ;
767
+ case ERR_WOULDBLOCK:
768
+ return " Operation would block" ;
769
+ case ERR_ABRT:
770
+ return " Connection aborted" ;
771
+ case ERR_RST:
772
+ return " Connection reset" ;
773
+ case ERR_CLSD:
774
+ return " Connection closed" ;
775
+ case ERR_CONN:
776
+ return " Not connected" ;
777
+ case ERR_ARG:
778
+ return " Illegal argument" ;
779
+ case ERR_USE:
780
+ return " Address in use" ;
781
+ case ERR_IF:
782
+ return " Low-level netif error" ;
783
+ case ERR_ISCONN:
784
+ return " Connection already established" ;
785
+ default :
786
+ return " Unknown error" ;
787
+ }
767
788
}
768
789
769
790
const char * AsyncClient::stateToString (){
0 commit comments