mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan Tauš (JIRA) <j...@apache.org>
Subject [jira] Commented: (DIRMINA-785) Half-duplex close of TCP channel
Date Tue, 11 May 2010 07:19:43 GMT

    [ https://issues.apache.org/jira/browse/DIRMINA-785?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12866077#action_12866077

Jan Tauš commented on DIRMINA-785:

I created patch of MINA(2.0.0.RC1) and AsyncWeb(trunk) (both attached) for my use.

The problem is that it is application protocol dependent what to do when the input is closed.
So my patch sends new event "inputClose(IoSession)" to the filter chain instead closing the
session. The default handling of this event is to close the session.

The patch of the AsyncWeb adds the handling of the new event to the SingleHttpSessionIoHandler.
If there exists HTTP service context then the context is marked to close HTTP connection after
a response is commited. If the context doesn't exists the session is closed immediately.

> Half-duplex close of TCP channel
> --------------------------------
>                 Key: DIRMINA-785
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-785
>             Project: MINA
>          Issue Type: Bug
>          Components: Transport
>    Affects Versions: 2.0.0-M6
>            Reporter: Jan Tauš
> Current MINA implementation doesn't support half-duplex close as described in RFC-793
section 3.5. "Closing a Connection". 
> After the read in AbstractPollingIoProcessor#read() fails due to closed of the input
stream whole NioSocketSession#channel is scheduled to close. In such situation only the input
part should be closed with call to SocketChannel#socket().shutdownInput(). The whole channel
should be closed only after the IoSession#close() call.

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

View raw message