Class HelloXMLMessageDecoder

java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.netty.handler.codec.ByteToMessageDecoder
org.opendaylight.netconf.codec.MessageDecoder
org.opendaylight.netconf.nettyutil.handler.HelloXMLMessageDecoder
All Implemented Interfaces:
io.netty.channel.ChannelHandler, io.netty.channel.ChannelInboundHandler

public final class HelloXMLMessageDecoder extends MessageDecoder
Customized NetconfXMLToMessageDecoder that reads additional header with session metadata from HelloMessage* This handler should be replaced in pipeline by regular message handler as last step of negotiation. It serves as a message barrier and halts all non-hello netconf messages. Netconf messages after hello should be processed once the negotiation succeeded.
  • Nested Class Summary

    Nested classes/interfaces inherited from class io.netty.handler.codec.ByteToMessageDecoder

    io.netty.handler.codec.ByteToMessageDecoder.Cumulator

    Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler

    io.netty.channel.ChannelHandler.Sharable
  • Field Summary

    Fields inherited from class org.opendaylight.netconf.codec.MessageDecoder

    HANDLER_NAME

    Fields inherited from class io.netty.handler.codec.ByteToMessageDecoder

    COMPOSITE_CUMULATOR, MERGE_CUMULATOR
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    decode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf in, List<Object> out)
     
    Get netconf messages received during negotiation.

    Methods inherited from class io.netty.handler.codec.ByteToMessageDecoder

    actualReadableBytes, callDecode, channelInactive, channelRead, channelReadComplete, decodeLast, discardSomeReadBytes, handlerRemoved, handlerRemoved0, internalBuffer, isSingleDecode, setCumulator, setDiscardAfterReads, setSingleDecode, userEventTriggered

    Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter

    channelActive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught

    Methods inherited from class io.netty.channel.ChannelHandlerAdapter

    ensureNotSharable, handlerAdded, isSharable

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.netty.channel.ChannelHandler

    handlerAdded
  • Constructor Details

    • HelloXMLMessageDecoder

      public HelloXMLMessageDecoder()
  • Method Details

    • decode

      public void decode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf in, List<Object> out) throws IOException, SAXException
      Specified by:
      decode in class io.netty.handler.codec.ByteToMessageDecoder
      Throws:
      IOException
      SAXException
    • getPostHelloNetconfMessages

      public Iterable<NetconfMessage> getPostHelloNetconfMessages()
      Get netconf messages received during negotiation.
      Returns:
      Collection of NetconfMessages that were not hello, but were received during negotiation.