IoSession.suspendRead() doesn't suspend read operation immediately under single
thread model.
---------------------------------------------------------------------------------------------
Key: DIRMINA-405
URL: https://issues.apache.org/jira/browse/DIRMINA-405
Project: MINA
Issue Type: Bug
Components: Transport
Affects Versions: 1.1.1, 1.0.4
Reporter: Trustin Lee
Assignee: Trustin Lee
Fix For: 1.0.5, 1.1.2
IoSession.suspendRead() changes the sessions's traffic mask and notifies the
SocketIoProcessor. It is a normal behavior that the actual traffic control
occurs asynchronously. For example, If a user calls IoSession.suspendRead()
after receiving a message after ExecutorFilter doesn't assure he or she
receives another message even after suspendRead() is called.
However, SocketIoProcessor must guarantee that read operation is suspended
immediately if suspendRead() is called from the same thread that
SocketIoProcessor runs for users who need precise traffic control.
To resolve this issue, SocketIoProcessor should check the traffic mask after
emitting each messageReceived event.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.