Suppressed unnecessary event object creation in OneToOneDecoder

This commit is contained in:
Trustin Lee 2009-04-17 07:29:08 +00:00
parent 71ad5126b6
commit 2c8055c9ca

View File

@ -74,10 +74,13 @@ public abstract class OneToOneDecoder implements ChannelUpstreamHandler {
}
MessageEvent e = (MessageEvent) evt;
fireMessageReceived(
ctx,
decode(ctx, e.getChannel(), e.getMessage()),
e.getRemoteAddress());
Object originalMessage = e.getMessage();
Object decodedMessage = decode(ctx, e.getChannel(), originalMessage);
if (originalMessage == decodedMessage) {
ctx.sendUpstream(evt);
} else {
fireMessageReceived(ctx, decodedMessage, e.getRemoteAddress());
}
}
protected abstract Object decode(