1 /* Copyright (C)2013 Pantheon Technologies, s.r.o. All rights reserved. */
\r
2 package org.opendaylight.openflowjava.protocol.impl.core;
\r
4 import io.netty.channel.ChannelHandlerContext;
\r
5 import io.netty.handler.codec.MessageToMessageDecoder;
\r
7 import java.util.List;
\r
9 import org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializationFactory;
\r
10 import org.opendaylight.yangtools.yang.binding.DataObject;
\r
11 import org.slf4j.Logger;
\r
12 import org.slf4j.LoggerFactory;
\r
15 * Transforms OpenFlow Protocol messages to POJOs
\r
16 * @author michal.polkorab
\r
18 public class OF13Decoder extends MessageToMessageDecoder<VersionMessageWrapper> {
\r
20 private static final Logger LOGGER = LoggerFactory.getLogger(OF13Decoder.class);
\r
23 * Constructor of class
\r
25 public OF13Decoder() {
\r
26 LOGGER.debug("Creating OF 1.3 Decoder");
\r
30 protected void decode(ChannelHandlerContext ctx, VersionMessageWrapper msg,
\r
31 List<Object> out) throws Exception {
\r
32 LOGGER.debug("VersionMessageWrapper received");
\r
33 DataObject dataObject = DeserializationFactory.bufferToMessage(msg.getMessageBuffer(),
\r
35 if (dataObject == null) {
\r
36 LOGGER.warn("Translated POJO is null");
\r
39 msg.getMessageBuffer().discardReadBytes();
\r
40 msg.getMessageBuffer().release();
\r
41 out.add(dataObject);
\r