[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[Libevent-users] zero window is not invoking read event



Hi,

 

I used  libevent library to implement proxy.  I created a read event and registered a read_callbk when the socket is ready to read.

 

        event_set(&c->event_read, sfd, EV_READ | EV_PERSIST, tcp_read_cb, (void *)c);

         event_base_set(base,&c->event_read);

         if (event_add(&c->event_read, 0) == -1)

         {

             conn_add_to_freelist(c);                   

             dedup_dbg(3, "error in event add\n");

             return NULL;

         }

I noticed that after some time  , the read  is not getting invoked. Packet capture shows that the receiver(that is this machine) is advertising zero window.

Did anyone face such a problem . If so, how do we read data when we experience zero window. Is the read lost?  There is some 64K buffer in the read buffer in kernel .

How do we read this data?  

 

Regards,

Arun