[ https://issues.apache.org/jira/browse/DIRMINA-996?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16855808#comment-16855808 ]
Emmanuel Lecharny commented on DIRMINA-996: ------------------------------------------- The {{ExpiringMap}} could use a {{Map<SocketSessdion>}} as a value, so an expiring session would be find doing a fetch from the encapsulating {{Map}} then another fetch from the internal {{Map}} to get the {{IoSession}} that expired. Another option would be to create a key that is a concatenation of the local and remote address. > IoSessionRecycler RemoteAddress Collision > ----------------------------------------- > > Key: DIRMINA-996 > URL: https://issues.apache.org/jira/browse/DIRMINA-996 > Project: MINA > Issue Type: Bug > Components: Core > Affects Versions: 2.0.7 > Reporter: Flavio Battimo > Assignee: Jonathan Valliere > Priority: Critical > Fix For: 2.1.4 > > > When using NioDatagramAcceptor with multiple binded local addresses the > IoSessionRecycler is not working as expected. > If the acceptor has been prefilled with two sessions: > remoteaddr=192.168.1.10:2001 localaddr=192.168.1.20:1000 > remoteaddr=192.168.1.10:2001 localaddr=192.168.1.20:1001 > so with same remote address but different local address, when the recycle > method of IoSessionRecycler interface is called only remote address is > passed. The recycler returns the same IoSession for incoming datagrams on two > different local addresses of the same acceptor. > The IoSessionRecycler should have the local address parameter also in order > to find the correct IoSession. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org For additional commands, e-mail: dev-h...@mina.apache.org