[
https://issues.apache.org/jira/browse/DIRMINA-382?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12868686#action_12868686
]
Bill Kuker commented on DIRMINA-382:
------------------------------------
I think that this ticket should be reopened (or a new one) for that TODO task
to be completed.
In my client code I have a workaround where I hold on to the most recent
WriteFuture from my most recent write, and then when I want to close I do it
with an IOFutureListener added to that WriteFuture. The IOFutureListener closes
the IOSession once the last Write is done.
> Provide a close() method that doesn't close the connection until all messages
> are written.
> ------------------------------------------------------------------------------------------
>
> Key: DIRMINA-382
> URL: https://issues.apache.org/jira/browse/DIRMINA-382
> Project: MINA
> Issue Type: New Feature
> Components: Core
> Reporter: Trustin Lee
> Assignee: Trustin Lee
> Fix For: 2.0.0-M1
>
>
> Currently, IoSession.close() closes the connection immediately no matter how
> many messages are not written yet. Calling close() will discard all pending
> writes and close the connection immediately. Although we can add a
> IoFutureListener.CLOSE to the last WriteFuture, it will be more convenient to
> provide another close method that doesn't close the connection until all
> message are written.
> Adding a boolean parameter to the close method will be fine. Of course,
> original method without a parameter will be retained.
> To implement this, the implementation should satisfy the following condition.
> 1) IoSession.isClosing() must return true after close() is called no matter
> what boolean parameter is specified.
> 2) The session should be closed after all messages are written out.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.