[ 
https://issues.apache.org/jira/browse/DEFT-170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13071860#comment-13071860
 ] 

umesh awasthi commented on DEFT-170:
------------------------------------

sorry for such a question, i know this practice but after going through the 
list i came across that work is going around on many issue still no one is 
against the assignee field ,so i preferred this way to confirmation

> Close channel if we (during read) reach EOF and there is nothing to write
> -------------------------------------------------------------------------
>
>                 Key: DEFT-170
>                 URL: https://issues.apache.org/jira/browse/DEFT-170
>             Project: Deft
>          Issue Type: Improvement
>            Reporter: Roger Schildmeijer
>
> Proposal: In AS.handleRead(..) add
>       if (read == -1) {       // EOF
>                       reachedEOF = true;
>                       ioLoop.updateHandler(channel, interestOps &= 
> ~SelectionKey.OP_READ);
>                       if (writeBuffer.position() == 0) {
>                               invokeCloseCallback();
>                       }
>                       return;
>               }
> (the invokeCloseCallback() + surronding if statement is new)
> Found this issue during DEFT-151 (disitributed demo application).
> The problem is that its easy to leak connection if we dont handle this case. 
> The problem is that you never will get a notification/callback that the 
> client/server is down (if you only are reading from the asynchronous socket, 
> as soon as you try to write to the socket, you will get a close 
> callback....but that is _only_ if you acctually try to write on the socket).

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to