Mark created DIRMINA-1061:
-----------------------------
Summary: When AbstractPollingIoProcessor read nothing, free the
temporary buffer should be better
Key: DIRMINA-1061
URL: https://issues.apache.org/jira/browse/DIRMINA-1061
Project: MINA
Issue Type: Improvement
Components: Core
Affects Versions: 2.0.16
Reporter: Mark
Priority: Minor
{code:title=org.apache.mina.core.polling.AbstractPollingIoProcessor.java|borderStyle=solid}
private void read(S session) {
IoSessionConfig config = session.getConfig();
int bufferSize = config.getReadBufferSize();
IoBuffer buf = IoBuffer.allocate(bufferSize);
//...
//...
if (readBytes > 0) {
IoFilterChain filterChain = session.getFilterChain();
filterChain.fireMessageReceived(buf);
buf = null;
if (hasFragmentation) {
if (readBytes << 1 < config.getReadBufferSize()) {
session.decreaseReadBufferSize();
} else if (readBytes == config.getReadBufferSize()) {
session.increaseReadBufferSize();
}
}
}
{code}
it seems that this method will be called when session closing.
it'll better to call buf.free() if readBytes==0, to help allocator recycle this
buffer, thx!
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)