Hi Oleg,

On Mon, Jan 16, 2012 at 2:41 AM, Oleg Kalnichevski <[email protected]> wrote:

> On Mon, 2012-01-16 at 01:21 +0530, Asankha C. Perera wrote:
> > Hi All
> >
> > When a connection times out or is closed with NIO, I'd like to know if
> > this connection has any content read already or pending - i.e. is the
> > connection timeout or close happening to a partially read connection or
> > to an idle keep-alive connection (I'd like to know even if some headers
> > have been read.. not just entity content..)
> >
> > I was not able to find any safe way to achieve this yet.. Have I missed
> > anything obvious?
> >
> > thanks
> > asankha
> >
>
> Hi Asankha
>
> Timeout event fired by an I/O reactor simply signals the fact that there
> has been no activity on that I/O session for the given timeout period.
> The I/O session itself remains in a perfectly valid state. It is up to
> individual protocol handlers to decide what is to be done with that
> session. The default implementations simply close the timed out session
> but it does not have to be that way.
>
> As far as closed I/O sessions are concerned, if closed by the opposite
> end, the I/O session can still be read from as long as there is pending
> data. Once all input has been received read operations on that session
> will start returning -1 indicating the connection is being in a
> half-closed state. It is still up to individual protocol handlers to
> decide what is to be done with the session. Closing it on the local end
> is the most natural choice.
>

This is very interesting. Does this mean that whenever the closed event is
fired on a client handler, there is a chance that the connection many have
some pending data? For an example if we are in the middle of a
request-response interaction, and the closed event is fired even before the
responseReceived event, is there a possibility that the response may be
received if we keep the connection open?

Thanks,
Hiranya


>
> Both cases are quite easy to distinguish. Hope this answers your
> question.
>
> Cheers
>
> Oleg
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>


-- 
Hiranya Jayathilaka
Associate Technical Lead;
WSO2 Inc.;  http://wso2.org
E-mail: [email protected];  Mobile: +94 77 633 3491
Blog: http://techfeast-hiranya.blogspot.com

Reply via email to