Browse code

Add WK_DEBUG_CONN define to trace connections. Make BUFSIZE (sbuf size) configurable via Makefile (i.e. CFLAGS=-DBUFSIZE=8192)

Dario Rodriguez authored on 16/07/2014 10:35:50
Showing 1 changed files
... ...
@@ -24,7 +24,9 @@
24 24
 #define CLIENTBLOCK 1024
25 25
 #define CLIENTBLOCKBLOCK 256
26 26
 #define MAXOUTBUF 128
27
+#ifndef BUFSIZE
27 28
 #define BUFSIZE 8192
29
+#endif
28 30
 #define BUFBLOCK 128
29 31
 #define BUFBLOCKBLOCK 256
30 32
 #define POSTBLOCK 16
... ...
@@ -146,6 +148,12 @@ wk_debug_io(char *iotype, int fd, char *ptr, long int size)
146 148
 #define DEBUG_OUT_POST
147 149
 #endif
148 150
 
151
+#ifdef WK_DEBUG_CONN
152
+#include "loglib.h"
153
+#define DEBUG_CONN(a) log_write a
154
+#else
155
+#define DEBUG_CONN(a)
156
+#endif
149 157
 
150 158
 wk *
151 159
 wk_init(int serverfd, sselect *ssel, void (*callback_event)(/*wk *web,int connid, wk_event event, void *userptr*/), wk_action (*callback_http)(/*wk *web,int connid, wk_uri *uri, void *userptr*/), wk_action (*callback_post)(/*wk *web,int connid, wk_uri *uri, void *userptr*/), wk_action (*callback_continuation)(/*wk *web,int connid, wk_uri *uri, void *userptr*/), void *userptr)
... ...
@@ -386,8 +394,10 @@ wk_service(wk *paramweb)
386 394
                                                 continue;
387 395
                                         if(client->lastio>now)
388 396
                                                 client->lastio=now;
389
-                                        if((now-ALIVETIMEOUT)>client->lastio)
397
+                                        if((now-ALIVETIMEOUT)>client->lastio) {
398
+                                                DEBUG_CONN(("WEBK","TIMEOUT: Closing client connection; now:%li, ALIVETIMEOUT:%li, lastio:%li, diff:%li\n",(long)now,(long)ALIVETIMEOUT,(long)client->lastio,(long)(now-client->lastio)));
390 399
                                                 wk_close((wk *)web, client->connid); /* timeout */
400
+                                        }
391 401
                                 }
392 402
                         }
393 403
                 }
... ...
@@ -637,6 +647,7 @@ wk_close(wk *paramweb, int connid)
637 647
                 return(-1);
638 648
         if((client=wk_clientget(web,connid))==NULL)
639 649
                 return(-1);
650
+        DEBUG_CONN(("WEBK","wk_close: connid: %i, fd: %i",connid,client->fd));
640 651
         if(client->fd!=-1) {
641 652
                 sselect_delread(web->ssel,client->fd);
642 653
                 sselect_delwrite(web->ssel,client->fd);
... ...
@@ -965,6 +976,7 @@ wk_accept(_wk *web)
965 976
                 return(NULL);
966 977
         }
967 978
         client->fd=newfd;
979
+        DEBUG_CONN(("WEBK","wk_accept: connid: %i, fd: %i",client->connid,client->fd));
968 980
         FD_SET(client->fd,&(web->fdset));
969 981
         sselect_addread(web->ssel,client->fd,(void *)client);
970 982
         return(client);