[ 
https://issues.apache.org/jira/browse/DIRMINA-569?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12588569#action_12588569
 ] 

Trustin Lee commented on DIRMINA-569:
-------------------------------------

Thanks for the test case Jeff!  It is very helpful.

BTW, the description of the problem is not correct.  The problem is that 
READER_IDLE and WRITER_IDLE is always fired together with BOTH_IDLE.  
Therefore, whenever BOTH_IDLE is fired, READER_IDLE is fired immediately, 
causing an exception.  KeepAliveFilter should be modified to ignore the 
READER_IDLE state when interestedIdleStatus is BOTH_IDLE and the current state 
is BOTH_IDLE.

> KeepAliveFilter's BOTH_IDLE is not working as expected
> ------------------------------------------------------
>
>                 Key: DIRMINA-569
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-569
>             Project: MINA
>          Issue Type: Bug
>          Components: Filter
>         Environment: MINA trunk (r647676)
>            Reporter: Jeff Mesnil
>         Attachments: DIRMINA-569.txt
>
>
> for my code, I need to send keep-alive messages when the client IoSession is 
> idle both in reading and writing.
> Using IdleStatus.BOTH_IDLE does not work as  I expected it:
> When the KeepAliveFilter is notified that it is BOTH_IDLE, it sends a 
> keep-alive request.
> However, sending this request means that the session is no longer WRITER_IDLE.
> In turn, this means that the filter is notified that the session is 
> READER_IDLE only.
> Since it is waiting a response (from the BOTH_IDLE notification) that has not 
> been received, it falsely handles it as a timeout.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to