Sure, I will make it a Junit for it.
BTW, is there any way to guarantee the data is written through the
socket already before calling a session.close()? I got this problem
only when writing large amount of data and a premature session.close()
truncates the data on the receiving end.
Thanks
On 10/24/06, Trustin Lee <[EMAIL PROTECTED]> wrote:
Oh I see. Then it might be a bug. But I'm not sure how this can happen.
The idleness checking routine runs in the same thread with the I/O thread,
and thus, the fact that idleness is not updated means that I/O thread is
blocked by something.
Could you please create a simplistic JUnit test case that demonstrates
this
problem? It should be very easy to create one. Just create a session and
wait for more then the configured idle time and do a few assertions.
Trustin
On 10/25/06, Paul Chen <[EMAIL PROTECTED]> wrote:
>
> ---
> Sorry I made a type in prev email
> session.isIdle() always returns me false
> ---
>
> Hi, folks, I found a weird problem that session.isIdle() always returns
me
> false even though there's no session read/write activitiies at all after
a
> long
> time. My code excerpt is as follows. Thanks for comments.
>
> * In the handler:
>
> public void sessionCreated(IoSession session) throws Exception {
>
> session.setWriteTimeout(3);
> session.setIdleTime(IdleStatus.BOTH_IDLE, 3);
> session.setIdleTime(IdleStatus.WRITER_IDLE , 3);
>
> }
>
> * In a global static session table:
>
> Clean up session when it is done:
>
> ...
>
> if (session.isIdle(IdleStatus.WRITER_IDLE)) {
> // cleanup
> ...
> session.close();
> }
>
> ...
>
>
> But "isIdle()" always returns false even long after client
> received all data.
>
> Is this a bug in Mina or I missed something?
>
>
> Thanks a bunch
>
>
--
what we call human nature is actually human habit
--
http://gleamynode.net/
--
PGP key fingerprints:
* E167 E6AF E73A CBCE EE41 4A29 544D DE48 FE95 4E7E
* B693 628E 6047 4F8F CFA4 455E 1C62 A7DC 0255 ECA6