X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflow-protocol-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fopenflowjava%2Fprotocol%2Fimpl%2Fdeserialization%2Ffactories%2FOF10EchoReplyMessageFactory.java;h=ec45475e33f02b1809230ad0e65b2f19c303a24e;hb=5f5622e79402f70a944fa93fd7ee2d84d1776b08;hp=6702f4c97f2fa1f6b7735bb4fbf42fd71d5b07e2;hpb=3c8c1e026f04efbca0a8e1bb8a5c87acbac379be;p=openflowjava.git diff --git a/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/OF10EchoReplyMessageFactory.java b/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/OF10EchoReplyMessageFactory.java index 6702f4c9..ec45475e 100644 --- a/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/OF10EchoReplyMessageFactory.java +++ b/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/OF10EchoReplyMessageFactory.java @@ -1,43 +1,37 @@ -/* Copyright (C)2013 Pantheon Technologies, s.r.o. All rights reserved. */ -package org.opendaylight.openflowjava.protocol.impl.deserialization.factories; - -import io.netty.buffer.ByteBuf; - -import org.opendaylight.openflowjava.protocol.impl.deserialization.OFDeserializer; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.EchoOutput; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.EchoOutputBuilder; - -/** - * @author michal.polkorab - * - */ -public class OF10EchoReplyMessageFactory implements OFDeserializer { - - private static OF10EchoReplyMessageFactory instance; - - private OF10EchoReplyMessageFactory() { - // do nothing, just singleton - } - - /** - * @return singleton factory - */ - public static synchronized OF10EchoReplyMessageFactory getInstance() { - if (instance == null) { - instance = new OF10EchoReplyMessageFactory(); - } - return instance; - } - - @Override - public EchoOutput bufferToMessage(ByteBuf rawMessage, short version) { - EchoOutputBuilder builder = new EchoOutputBuilder(); - builder.setVersion(version); - builder.setXid(rawMessage.readUnsignedInt()); - int remainingBytes = rawMessage.readableBytes(); - if (remainingBytes > 0) { - builder.setData(rawMessage.readBytes(remainingBytes).array()); - } - return builder.build(); - } -} +/* + * 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.deserialization.factories; + +import io.netty.buffer.ByteBuf; + +import org.opendaylight.openflowjava.protocol.api.extensibility.OFDeserializer; +import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.EchoOutput; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.EchoOutputBuilder; + +/** + * Translates EchoReply messages (both OpenFlow v1.0 and OpenFlow v1.3) + * @author michal.polkorab + * @author timotej.kubas + */ +public class OF10EchoReplyMessageFactory implements OFDeserializer { + + @Override + public EchoOutput deserialize(ByteBuf rawMessage) { + EchoOutputBuilder builder = new EchoOutputBuilder(); + builder.setVersion((short) EncodeConstants.OF10_VERSION_ID); + builder.setXid(rawMessage.readUnsignedInt()); + int remainingBytes = rawMessage.readableBytes(); + if (remainingBytes > 0) { + builder.setData(rawMessage.readBytes(remainingBytes).array()); + } + return builder.build(); + } + +}