2424#include "lwip/api.h"
2525#include "lwip/opt.h"
2626
27+ #define ENABLE_DEBUG 0
28+ #include "debug.h"
29+
2730static inline void _tcp_sock_init (sock_tcp_t * sock , struct netconn * conn ,
2831 sock_tcp_queue_t * queue )
2932{
@@ -314,6 +317,9 @@ int sock_tcp_accept(sock_tcp_queue_t *queue, sock_tcp_t **sock,
314317ssize_t sock_tcp_read (sock_tcp_t * sock , void * data , size_t max_len ,
315318 uint32_t timeout )
316319{
320+ DEBUG ("sock_tcp_read(sock, data, max_len=%u, timeout=%" PRIu32 ")\n" ,
321+ (unsigned )max_len , timeout );
322+
317323 struct pbuf * buf ;
318324 ssize_t recvd = 0 ;
319325 ssize_t res = 0 ;
@@ -343,6 +349,7 @@ ssize_t sock_tcp_read(sock_tcp_t *sock, void *data, size_t max_len,
343349
344350 if ((timeout == 0 ) && !mbox_avail (& sock -> base .conn -> recvmbox .mbox )) {
345351 mutex_unlock (& sock -> mutex );
352+ DEBUG_PUTS ("sock_tcp_read(): -EAGAIN" );
346353 return - EAGAIN ;
347354 }
348355
@@ -354,6 +361,7 @@ ssize_t sock_tcp_read(sock_tcp_t *sock, void *data, size_t max_len,
354361 else {
355362 err_t err ;
356363 if ((err = netconn_recv_tcp_pbuf (sock -> base .conn , & buf )) < 0 ) {
364+ DEBUG ("sock_tcp_read(): %d" , (int )err );
357365 switch (err ) {
358366 case ERR_ABRT :
359367 res = - ECONNABORTED ;
@@ -421,6 +429,17 @@ ssize_t sock_tcp_read(sock_tcp_t *sock, void *data, size_t max_len,
421429#endif
422430 netconn_set_nonblocking (sock -> base .conn , false);
423431 mutex_unlock (& sock -> mutex );
432+
433+ DEBUG ("sock_tcp_read(): %d\n" , (int )res );
434+ if (ENABLE_DEBUG && (res > 0 )) {
435+ DEBUG (" " );
436+ unsigned bytes_to_print = (res > 8 ) ? 8 : res ;
437+ for (unsigned i = 0 ; i < bytes_to_print ; i ++ ) {
438+ DEBUG (" %02X" , (unsigned )((uint8_t * )data )[i ]);
439+ }
440+ DEBUG_PUTS ((res > 8 ) ? "..." : "" );
441+ }
442+
424443 return res ;
425444}
426445
@@ -429,6 +448,16 @@ ssize_t sock_tcp_write(sock_tcp_t *sock, const void *data, size_t len)
429448 struct netconn * conn ;
430449 int res = 0 ;
431450
451+ DEBUG ("sock_tcp_write(sock, data, %u)\n" , (unsigned )len );
452+ if (ENABLE_DEBUG ) {
453+ DEBUG (" " );
454+ unsigned bytes_to_print = (len > 8 ) ? 8 : len ;
455+ for (unsigned i = 0 ; i < bytes_to_print ; i ++ ) {
456+ DEBUG (" %02X" , (unsigned )((uint8_t * )data )[i ]);
457+ }
458+ DEBUG_PUTS ((len > 8 ) ? "..." : "" );
459+ }
460+
432461 assert (sock != NULL );
433462 assert ((len == 0 ) || (data != NULL )); /* (len != 0) => (data != NULL) */
434463 mutex_lock (& sock -> mutex );
@@ -444,6 +473,8 @@ ssize_t sock_tcp_write(sock_tcp_t *sock, const void *data, size_t len)
444473 NULL) so we can leave the mutex */
445474 res = lwip_sock_send (conn , data , len , 0 , NULL , NETCONN_TCP );
446475
476+ DEBUG ("sock_tcp_write(): %d\n" , (int )res );
477+
447478 return res ;
448479}
449480
0 commit comments