X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflow-protocol-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fopenflowjava%2Fprotocol%2Fimpl%2Fserialization%2Ffactories%2FEchoReplyInputMessageFactory.java;h=3e76f8c03e332fc47f11b49e83aefbb39ad2501e;hb=0d942e8fb70b2c21f97eea3ed8904336ab5c54a4;hp=4ef83a7a63d74a918e5537b30c1dff7e5b643179;hpb=7494ef8cb011ce850af5d1cf33e90e212fdc2a97;p=openflowjava.git diff --git a/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/EchoReplyInputMessageFactory.java b/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/EchoReplyInputMessageFactory.java index 4ef83a7a..3e76f8c0 100644 --- a/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/EchoReplyInputMessageFactory.java +++ b/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/EchoReplyInputMessageFactory.java @@ -1,50 +1,67 @@ -/* Copyright (C)2013 Pantheon Technologies, s.r.o. All rights reserved. */ -package org.opendaylight.openflowjava.protocol.impl.serialization.factories; - -import io.netty.buffer.ByteBuf; - -import org.opendaylight.openflowjava.protocol.impl.serialization.OFSerializer; -import org.opendaylight.openflowjava.protocol.impl.util.ByteBufUtils; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.EchoReplyInput; - -/** - * @author michal.polkorab - * - */ -public class EchoReplyInputMessageFactory implements OFSerializer{ - - /** Code type of EchoReply message */ - public static final byte MESSAGE_TYPE = 3; - private static final int MESSAGE_LENGTH = 8; - private static EchoReplyInputMessageFactory instance; - - private EchoReplyInputMessageFactory() { - // do nothing, just singleton - } - - /** - * @return singleton factory - */ - public static synchronized EchoReplyInputMessageFactory getInstance() { - if (instance == null) { - instance = new EchoReplyInputMessageFactory(); - } - return instance; - } - - @Override - public void messageToBuffer(short version, ByteBuf out, - EchoReplyInput message) { - ByteBufUtils.writeOFHeader(instance, message, out); - } - - @Override - public int computeLength(EchoReplyInput message) { - return MESSAGE_LENGTH; - } - - @Override - public byte getMessageType() { - return MESSAGE_TYPE; - } -} +/* + * Copyright (c) 2013 Pantheon Technologies s.r.o. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.openflowjava.protocol.impl.serialization.factories; + +import io.netty.buffer.ByteBuf; + +import org.opendaylight.openflowjava.protocol.impl.serialization.OFSerializer; +import org.opendaylight.openflowjava.protocol.impl.util.ByteBufUtils; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.EchoReplyInput; + +/** + * Translates EchoReply messages (both OpenFlow v1.0 and OpenFlow v1.3) + * @author michal.polkorab + * @author timotej.kubas + */ +public class EchoReplyInputMessageFactory implements OFSerializer{ + + /** Code type of EchoReply message */ + public static final byte MESSAGE_TYPE = 3; + private static final int MESSAGE_LENGTH = 8; + private static EchoReplyInputMessageFactory instance; + + private EchoReplyInputMessageFactory() { + // do nothing, just singleton + } + + /** + * @return singleton factory + */ + public static synchronized EchoReplyInputMessageFactory getInstance() { + if (instance == null) { + instance = new EchoReplyInputMessageFactory(); + } + return instance; + } + + @Override + public void messageToBuffer(short version, ByteBuf out, + EchoReplyInput message) { + ByteBufUtils.writeOFHeader(instance, message, out); + byte[] data = message.getData(); + if (data != null) { + out.writeBytes(data); + } + } + + @Override + public int computeLength(EchoReplyInput message) { + int length = MESSAGE_LENGTH; + byte[] data = message.getData(); + if (data != null) { + length += data.length; + } + return length; + } + + @Override + public byte getMessageType() { + return MESSAGE_TYPE; + } +}