• Guus der Kinderen's avatar
    OF-883: Compensate for new half-duplex close of TCP channel in MINA · be6ee20f
    Guus der Kinderen authored
    MINA 2.0.8 introduces support for half-duplex close of TCP channels (see DIRMINA-785).
    As part of this change, IoHandlers got a new method. The default behavior of the
    IoHandlerAdapter closes the MINA session when this handler is triggered. However,
    without an Openfire-specific extension (in ConnectionHandler), this fails to close
    Openfire-maintained resources. As a result, CPUs could start to spin in NIO code,
    resulting in 100% CPU cycles.
    
    To fix this issue, ConnectionHandler now overrides the default functionality and
    triggers a normal closure of the session (both in Openfire as well as MINA context).
    
    Additionally, to prevent the CPU spin, MINA sessions need to be closed synchronously
    (as opposed to the async closure Openfire had up until now). I cannot quite explain
    the need for this change, other than a suspision of race conditions in the async
    setup.
    be6ee20f
Name
Last commit
Last update
..
admin Loading commit data...
audit Loading commit data...
auth Loading commit data...
carbons Loading commit data...
clearspace Loading commit data...
cluster Loading commit data...
commands Loading commit data...
component Loading commit data...
container Loading commit data...
crowd Loading commit data...
disco Loading commit data...
entitycaps Loading commit data...
event Loading commit data...
filetransfer Loading commit data...
forms Loading commit data...
forward Loading commit data...
group Loading commit data...
handler Loading commit data...
http Loading commit data...
interceptor Loading commit data...
launcher Loading commit data...
ldap Loading commit data...
lockout Loading commit data...
mediaproxy Loading commit data...
muc Loading commit data...
multiplex Loading commit data...
net Loading commit data...
nio Loading commit data...
pep Loading commit data...
privacy Loading commit data...
pubsub Loading commit data...
resultsetmanager Loading commit data...
roster Loading commit data...
sasl Loading commit data...
security Loading commit data...
server Loading commit data...
session Loading commit data...
spi Loading commit data...
starter Loading commit data...
stats Loading commit data...
transport Loading commit data...
update Loading commit data...
user Loading commit data...
vcard Loading commit data...
webdav Loading commit data...
Channel.java Loading commit data...
ChannelHandler.java Loading commit data...
ChannelNotFoundException.java Loading commit data...
Connection.java Loading commit data...
ConnectionCloseListener.java Loading commit data...
ConnectionManager.java Loading commit data...
FlashCrossDomainHandler.java Loading commit data...
IQHandlerInfo.java Loading commit data...
IQRouter.java Loading commit data...
JMXManager.java Loading commit data...
LocalSessionManager.java Loading commit data...
MessageRouter.java Loading commit data...
MulticastRouter.java Loading commit data...
OfflineMessage.java Loading commit data...
OfflineMessageListener.java Loading commit data...
OfflineMessageStore.java Loading commit data...
OfflineMessageStrategy.java Loading commit data...
PacketDeliverer.java Loading commit data...
PacketException.java Loading commit data...
PacketRouter.java Loading commit data...
PresenceManager.java Loading commit data...
PresenceRouter.java Loading commit data...
PrivateStorage.java Loading commit data...
RemoteConnectionFailedException.java Loading commit data...
RemotePacketRouter.java Loading commit data...
RoutableChannelHandler.java Loading commit data...
RoutingTable.java Loading commit data...
ServerPort.java Loading commit data...
SessionManager.java Loading commit data...
SessionNotFoundException.java Loading commit data...
SessionPacketRouter.java Loading commit data...
SessionResultFilter.java Loading commit data...
SharedGroupException.java Loading commit data...
StreamID.java Loading commit data...
StreamIDFactory.java Loading commit data...
XMPPContextListener.java Loading commit data...
XMPPServer.java Loading commit data...
XMPPServerInfo.java Loading commit data...
XMPPServerListener.java Loading commit data...