[
https://issues.apache.org/jira/browse/DIRMINA-382?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12868305#action_12868305
]
Emmanuel Lecharny commented on DIRMINA-382:
-------------------------------------------
AFAICT, in trunk, the queue is a concurrentLinkedQueue, and you have the
guarantee that when pushing the CLOSE_REQUEST event into it, it will be written
before the close() to be processed.
Here, I would rather check trunk to see if the ace condition is still there or
not...
> 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.