Split message aggregators 77/5377/1
authorRobert Varga <rovarga@cisco.com>
Sun, 16 Feb 2014 04:29:51 +0000 (05:29 +0100)
committerRobert Varga <rovarga@cisco.com>
Tue, 18 Feb 2014 05:22:35 +0000 (06:22 +0100)
commiteac080120972a30ae37566fec20521286e87ef18
treea76bbbe54399235ab375b712f1b905a44e4cdc77
parenta06b268df0070f1b6502a83214b949852774fa58
Split message aggregators

This splits the EOM aggregator and the chunked encoding aggregator. The
chunked encoding can be much more efficient and hardened as it allows
for proper stream processing.

We do not go the entire way here, just tighten the chunk header parsing
by keeping an explicit state machine. We still need to gather the entire
message before shifting it, as our downstream expects to see the message
in its entirety.

Change-Id: I60947b6d018b73581a56adda5212d3482dda61ea
Signed-off-by: Robert Varga <rovarga@cisco.com>
opendaylight/netconf/netconf-impl/src/test/java/org/opendaylight/controller/netconf/impl/MessageParserTest.java
opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/AbstractChannelInitializer.java
opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/AbstractNetconfSessionNegotiator.java
opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/handler/EOMFramingMechanismEncoder.java
opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/handler/NetconfChunkAggregator.java [new file with mode: 0644]
opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/handler/NetconfEOMAggregator.java [moved from opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/handler/NetconfMessageAggregator.java with 79% similarity]
opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/handler/NetconfMessageChunkDecoder.java [deleted file]
opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/messages/NetconfMessageConstants.java