From 5de3301aa95796002457c3a44c18958dcc2166d8 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 2 Dec 2014 16:21:14 +0100 Subject: [PATCH] BUG-2459: reuse EXI Reader The reader performs an internal reset on each invocation of parse(), so it can be freely reused as long as we guarantee there are no concurrent invocations. Our decoder class is not Shared, so netty guarantees this. Change-Id: Icd575988e48ca5252d6f6716f4e08f83b23c99ca Signed-off-by: Robert Varga --- .../client/NetconfClientSessionTest.java | 2 +- .../nettyutil/AbstractNetconfSession.java | 10 ++++++++-- .../handler/NetconfEXIToMessageDecoder.java | 20 +++++++++++++------ .../handler/NetconfEXIHandlersTest.java | 2 +- 4 files changed, 24 insertions(+), 10 deletions(-) diff --git a/opendaylight/netconf/netconf-client/src/test/java/org/opendaylight/controller/netconf/client/NetconfClientSessionTest.java b/opendaylight/netconf/netconf-client/src/test/java/org/opendaylight/controller/netconf/client/NetconfClientSessionTest.java index 103585cf7e..2a3ecf2c04 100644 --- a/opendaylight/netconf/netconf-client/src/test/java/org/opendaylight/controller/netconf/client/NetconfClientSessionTest.java +++ b/opendaylight/netconf/netconf-client/src/test/java/org/opendaylight/controller/netconf/client/NetconfClientSessionTest.java @@ -55,7 +55,7 @@ public class NetconfClientSessionTest { NetconfClientSession session = new NetconfClientSession(sessionListener, channel, sessId, caps); final NetconfMessageToEXIEncoder exiEncoder = NetconfMessageToEXIEncoder.create(codec); - final NetconfEXIToMessageDecoder exiDecoder = new NetconfEXIToMessageDecoder(codec); + final NetconfEXIToMessageDecoder exiDecoder = NetconfEXIToMessageDecoder.create(codec); session.addExiHandlers(exiDecoder, exiEncoder); session.stopExiCommunication(); diff --git a/opendaylight/netconf/netconf-netty-util/src/main/java/org/opendaylight/controller/netconf/nettyutil/AbstractNetconfSession.java b/opendaylight/netconf/netconf-netty-util/src/main/java/org/opendaylight/controller/netconf/nettyutil/AbstractNetconfSession.java index 13b72bc62c..a59b1a0d76 100644 --- a/opendaylight/netconf/netconf-netty-util/src/main/java/org/opendaylight/controller/netconf/nettyutil/AbstractNetconfSession.java +++ b/opendaylight/netconf/netconf-netty-util/src/main/java/org/opendaylight/controller/netconf/nettyutil/AbstractNetconfSession.java @@ -132,9 +132,15 @@ public abstract class AbstractNetconfSession