* terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
* and is available at http://www.eclipse.org/legal/epl-v10.html\r
*/\r
-package org.opendaylight.openflowjava.protocol.impl.deserialization;\r
+package org.opendaylight.openflowjava.protocol.api.extensibility;\r
\r
-import org.opendaylight.openflowjava.protocol.api.extensibility.MessageTypeKey;\r
-import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;\r
\r
/**\r
* More specific key for {@link SerializerRegistry}\r
this.msgType2 = msgType2;\r
}\r
\r
- /**\r
- * @return more specific type\r
- */\r
- public Class<F> getMsgType2() {\r
- return msgType2;\r
- }\r
-\r
@Override\r
public boolean equals(Object obj) {\r
if (this == obj)\r
if (msgType2 == null) {\r
if (other.msgType2 != null)\r
return false;\r
- } else if (!msgType2.equals(other.msgType2))\r
+ } else if (!msgType2.getName().equals(other.msgType2.getName()))\r
return false;\r
return true;\r
}\r
this.msgVersion = msgVersion;
}
- /**
- * @return msgVersion
- */
- public short getMsgVersion() {
- return msgVersion;
- }
-
- /**
- * @return the msgType
- */
- public Class<E> getMsgType() {
- return msgType;
- }
-
@Override
public String toString() {
return "msgVersion: " + msgVersion + " msgType: " + msgType.getName();
public int hashCode() {
final int prime = 31;
int result = 1;
- result = prime * result + msgVersion;
+ result = prime * result + ((msgType == null) ? 0 : msgType.getName().hashCode());
return result;
}
if (msgType == null) {
if (other.msgType != null)
return false;
- } else if (!other.msgType.isAssignableFrom(msgType))
+ } else if (!other.msgType.getName().equals(msgType.getName()))
return false;
if (msgVersion != other.msgVersion)
return false;
* Serializer registry injector\r
* @author michal.polkorab\r
*/\r
-public interface RegistryInjector {\r
+public interface SerializerRegistryInjector {\r
\r
/**\r
* Injects serializer registry\r
*/
public DeserializationFactory() {
messageClassMap = new HashMap<>();
- initTypeToClassMapping();
+ TypeToClassMapInitializer.initializeTypeToClassMap(messageClassMap);
}
/**
this.registry = registry;
}
- private void initTypeToClassMapping() {
- TypeToClassMapInitializer.initializeTypeToClassMap(messageClassMap);
- }
}
*/
public void messageToBuffer(short version, ByteBuf out, DataObject message) {
OFSerializer<DataObject> serializer = registry.getSerializer(
- new MessageTypeKey<>(version, message.getClass()));
+ new MessageTypeKey<>(version, message.getImplementedInterface()));
if (serializer != null) {
serializer.serialize(message, out);
}
import org.opendaylight.openflowjava.protocol.api.extensibility.MessageTypeKey;
import org.opendaylight.openflowjava.protocol.api.extensibility.OFGeneralSerializer;
-import org.opendaylight.openflowjava.protocol.api.extensibility.RegistryInjector;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
-import org.opendaylight.openflowjava.protocol.impl.deserialization.EnhancedMessageTypeKey;
+import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistryInjector;
import org.opendaylight.openflowjava.protocol.impl.util.EncodeConstants;
import org.opendaylight.openflowjava.protocol.impl.util.OF10ActionsSerializer;
import org.opendaylight.openflowjava.protocol.impl.util.OF10MatchSerializer;
MessageTypeKey<KEY_TYPE> msgTypeKey) {
OFGeneralSerializer serializer = registry.get(msgTypeKey);
if (serializer == null) {
- if (msgTypeKey instanceof EnhancedMessageTypeKey) {
- EnhancedMessageTypeKey<KEY_TYPE, ?> key = (EnhancedMessageTypeKey<KEY_TYPE, ?>) msgTypeKey;
- throw new NullPointerException("Serializer for key: " + key.toString()
- + " was not found");
- }
throw new NullPointerException("Serializer for key: " + msgTypeKey.toString()
+ " was not found");
}
if ((msgTypeKey == null) || (serializer == null)) {
throw new NullPointerException("MessageTypeKey or Serializer is null");
}
- if (serializer instanceof RegistryInjector) {
- ((RegistryInjector) serializer).injectSerializerRegistry(this);
+ if (serializer instanceof SerializerRegistryInjector) {
+ ((SerializerRegistryInjector) serializer).injectSerializerRegistry(this);
}
registry.put(msgTypeKey, serializer);
}
import org.opendaylight.openflowjava.protocol.api.extensibility.MessageTypeKey;
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.protocol.api.extensibility.RegistryInjector;
+import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistryInjector;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
import org.opendaylight.openflowjava.protocol.impl.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.impl.util.CodingUtils;
* @author timotej.kubas
* @author michal.polkorab
*/
-public class FlowModInputMessageFactory implements OFSerializer<FlowModInput>, RegistryInjector {
+public class FlowModInputMessageFactory implements OFSerializer<FlowModInput>, SerializerRegistryInjector {
private static final byte MESSAGE_TYPE = 14;
private static final byte PADDING_IN_FLOW_MOD_MESSAGE = 2;
private SerializerRegistry registry;
import org.opendaylight.openflowjava.protocol.api.extensibility.MessageTypeKey;
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.protocol.api.extensibility.RegistryInjector;
+import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistryInjector;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
import org.opendaylight.openflowjava.protocol.impl.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.impl.util.CodingUtils;
* @author timotej.kubas
* @author michal.polkorab
*/
-public class GroupModInputMessageFactory implements OFSerializer<GroupModInput>, RegistryInjector {
+public class GroupModInputMessageFactory implements OFSerializer<GroupModInput>, SerializerRegistryInjector {
private static final byte MESSAGE_TYPE = 15;
private static final byte PADDING_IN_GROUP_MOD_MESSAGE = 1;
private static final byte PADDING_IN_BUCKET = 4;
import java.util.List;
import java.util.Map;
+import org.opendaylight.openflowjava.protocol.api.extensibility.EnhancedMessageTypeKey;
import org.opendaylight.openflowjava.protocol.api.extensibility.HeaderSerializer;
import org.opendaylight.openflowjava.protocol.api.extensibility.MessageTypeKey;
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.protocol.api.extensibility.RegistryInjector;
+import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistryInjector;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
-import org.opendaylight.openflowjava.protocol.impl.deserialization.EnhancedMessageTypeKey;
import org.opendaylight.openflowjava.protocol.impl.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.impl.util.CodingUtils;
import org.opendaylight.openflowjava.protocol.impl.util.EncodeConstants;
* @author timotej.kubas
* @author michal.polkorab
*/
-public class MultipartRequestInputFactory implements OFSerializer<MultipartRequestInput>, RegistryInjector {
+public class MultipartRequestInputFactory implements OFSerializer<MultipartRequestInput>, SerializerRegistryInjector {
private static final byte MESSAGE_TYPE = 18;
private static final byte PADDING_IN_MULTIPART_REQUEST_MESSAGE = 4;
private static final byte TABLE_FEAT_HEADER_LENGTH = 4;
import org.opendaylight.openflowjava.protocol.api.extensibility.MessageTypeKey;
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.protocol.api.extensibility.RegistryInjector;
+import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistryInjector;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
import org.opendaylight.openflowjava.protocol.impl.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.impl.util.CodingUtils;
* Translates FlowMod messages
* @author michal.polkorab
*/
-public class OF10FlowModInputMessageFactory implements OFSerializer<FlowModInput>, RegistryInjector {
+public class OF10FlowModInputMessageFactory implements OFSerializer<FlowModInput>, SerializerRegistryInjector {
private static final byte MESSAGE_TYPE = 14;
private SerializerRegistry registry;
import org.opendaylight.openflowjava.protocol.api.extensibility.MessageTypeKey;
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.protocol.api.extensibility.RegistryInjector;
+import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistryInjector;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
import org.opendaylight.openflowjava.protocol.impl.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.impl.util.CodingUtils;
* Translates PacketOut messages
* @author michal.polkorab
*/
-public class OF10PacketOutInputMessageFactory implements OFSerializer<PacketOutInput>, RegistryInjector {
+public class OF10PacketOutInputMessageFactory implements OFSerializer<PacketOutInput>, SerializerRegistryInjector {
private static final byte MESSAGE_TYPE = 13;
private SerializerRegistry registry;
import org.opendaylight.openflowjava.protocol.api.extensibility.MessageTypeKey;
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.protocol.api.extensibility.RegistryInjector;
+import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistryInjector;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
import org.opendaylight.openflowjava.protocol.impl.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.impl.util.EncodeConstants;
* Translates StatsRequest messages
* @author michal.polkorab
*/
-public class OF10StatsRequestInputFactory implements OFSerializer<MultipartRequestInput>, RegistryInjector {
+public class OF10StatsRequestInputFactory implements OFSerializer<MultipartRequestInput>, SerializerRegistryInjector {
private static final byte MESSAGE_TYPE = 16;
private static final byte FLOW_BODY_LENGTH = 44;
import org.opendaylight.openflowjava.protocol.api.extensibility.MessageTypeKey;
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.protocol.api.extensibility.RegistryInjector;
+import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistryInjector;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
import org.opendaylight.openflowjava.protocol.impl.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.impl.util.CodingUtils;
* @author michal.polkorab
* @author timotej.kubas
*/
-public class PacketOutInputMessageFactory implements OFSerializer<PacketOutInput>, RegistryInjector {
+public class PacketOutInputMessageFactory implements OFSerializer<PacketOutInput>, SerializerRegistryInjector {
/** Code type of PacketOut message */
private static final byte MESSAGE_TYPE = 13;
+++ /dev/null
-/*\r
- * Copyright (c) 2013 Pantheon Technologies s.r.o. and others. All rights reserved.\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- */\r
-package org.opendaylight.openflowjava.protocol.impl.util;\r
-\r
-import io.netty.buffer.ByteBuf;\r
-\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.ArpOp;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.ArpSha;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.ArpSpa;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.ArpTha;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.ArpTpa;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.EthDst;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.EthSrc;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.EthType;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.ExperimenterClass;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Icmpv4Code;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Icmpv4Type;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Icmpv6Code;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Icmpv6Type;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.InPhyPort;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.InPort;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.IpDscp;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.IpEcn;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.IpProto;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Ipv4Dst;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Ipv4Src;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Ipv6Dst;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Ipv6Exthdr;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Ipv6Flabel;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Ipv6NdSll;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Ipv6NdTarget;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Ipv6NdTll;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Ipv6Src;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Metadata;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.MplsBos;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.MplsLabel;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.MplsTc;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Nxm0Class;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Nxm1Class;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.OpenflowBasicClass;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.PbbIsid;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.SctpDst;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.SctpSrc;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.TcpDst;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.TcpSrc;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.TunnelId;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.UdpDst;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.UdpSrc;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.VlanPcp;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.VlanVid;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.oxm.fields.grouping.MatchEntries;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.oxm.fields.grouping.MatchEntriesBuilder;\r
-\r
-/**\r
- * Encodes match ids (oxm_ids) needed in Multipart-TableFeatures messages\r
- * @author michal.polkorab\r
- */\r
-public abstract class MatchIdsDeserializer {\r
-\r
- /** Decodes oxm ids\r
- * @param in input ByteBuf\r
- * @param matchLength match entries length\r
- * @return list of match ids\r
- */\r
- public static List<MatchEntries> createOxmIds(ByteBuf in, int matchLength) {\r
- List<MatchEntries> matchEntriesList = new ArrayList<>();\r
- int currLength = 0;\r
- while(currLength < matchLength) {\r
- MatchEntriesBuilder matchEntriesBuilder = new MatchEntriesBuilder();\r
- switch (in.readUnsignedShort()) {\r
- case 0x0000:\r
- matchEntriesBuilder.setOxmClass(Nxm0Class.class);\r
- break;\r
- case 0x0001:\r
- matchEntriesBuilder.setOxmClass(Nxm1Class.class);\r
- break;\r
- case 0x8000:\r
- matchEntriesBuilder.setOxmClass(OpenflowBasicClass.class);\r
- break;\r
- case 0xFFFF:\r
- matchEntriesBuilder.setOxmClass(ExperimenterClass.class);\r
- break;\r
- default:\r
- break;\r
- }\r
-\r
- int fieldAndMask = in.readUnsignedByte();\r
- boolean hasMask = (fieldAndMask & 1) != 0;\r
- matchEntriesBuilder.setHasMask(hasMask);\r
- int matchField = fieldAndMask >> 1;\r
- in.skipBytes(EncodeConstants.SIZE_OF_BYTE_IN_BYTES);\r
- currLength += EncodeConstants.SIZE_OF_SHORT_IN_BYTES +\r
- (2 * EncodeConstants.SIZE_OF_BYTE_IN_BYTES);\r
-\r
- switch(matchField) {\r
- case 0:\r
- matchEntriesBuilder.setOxmMatchField(InPort.class);\r
- break;\r
- case 1:\r
- matchEntriesBuilder.setOxmMatchField(InPhyPort.class);\r
- break;\r
- case 2:\r
- matchEntriesBuilder.setOxmMatchField(Metadata.class);\r
- break;\r
- case 3:\r
- matchEntriesBuilder.setOxmMatchField(EthDst.class);\r
- break;\r
- case 4:\r
- matchEntriesBuilder.setOxmMatchField(EthSrc.class);\r
- break;\r
- case 5:\r
- matchEntriesBuilder.setOxmMatchField(EthType.class);\r
- break;\r
- case 6:\r
- matchEntriesBuilder.setOxmMatchField(VlanVid.class);\r
- break;\r
- case 7:\r
- matchEntriesBuilder.setOxmMatchField(VlanPcp.class);\r
- break;\r
- case 8:\r
- matchEntriesBuilder.setOxmMatchField(IpDscp.class);\r
- break;\r
- case 9:\r
- matchEntriesBuilder.setOxmMatchField(IpEcn.class);\r
- break;\r
- case 10:\r
- matchEntriesBuilder.setOxmMatchField(IpProto.class);\r
- break;\r
- case 11:\r
- matchEntriesBuilder.setOxmMatchField(Ipv4Src.class);\r
- break;\r
- case 12:\r
- matchEntriesBuilder.setOxmMatchField(Ipv4Dst.class);\r
- break;\r
- case 13:\r
- matchEntriesBuilder.setOxmMatchField(TcpSrc.class);\r
- break;\r
- case 14:\r
- matchEntriesBuilder.setOxmMatchField(TcpDst.class);\r
- break;\r
- case 15:\r
- matchEntriesBuilder.setOxmMatchField(UdpSrc.class);\r
- break;\r
- case 16:\r
- matchEntriesBuilder.setOxmMatchField(UdpDst.class);\r
- break;\r
- case 17:\r
- matchEntriesBuilder.setOxmMatchField(SctpSrc.class);\r
- break;\r
- case 18:\r
- matchEntriesBuilder.setOxmMatchField(SctpDst.class);\r
- break;\r
- case 19:\r
- matchEntriesBuilder.setOxmMatchField(Icmpv4Type.class);\r
- break;\r
- case 20:\r
- matchEntriesBuilder.setOxmMatchField(Icmpv4Code.class);\r
- break;\r
- case 21:\r
- matchEntriesBuilder.setOxmMatchField(ArpOp.class);\r
- break;\r
- case 22:\r
- matchEntriesBuilder.setOxmMatchField(ArpSpa.class);\r
- break;\r
- case 23:\r
- matchEntriesBuilder.setOxmMatchField(ArpTpa.class);\r
- break;\r
- case 24:\r
- matchEntriesBuilder.setOxmMatchField(ArpSha.class);\r
- break;\r
- case 25:\r
- matchEntriesBuilder.setOxmMatchField(ArpTha.class);\r
- break;\r
- case 26:\r
- matchEntriesBuilder.setOxmMatchField(Ipv6Src.class);\r
- break;\r
- case 27:\r
- matchEntriesBuilder.setOxmMatchField(Ipv6Dst.class);\r
- break;\r
- case 28:\r
- matchEntriesBuilder.setOxmMatchField(Ipv6Flabel.class);\r
- break;\r
- case 29:\r
- matchEntriesBuilder.setOxmMatchField(Icmpv6Type.class);\r
- break;\r
- case 30:\r
- matchEntriesBuilder.setOxmMatchField(Icmpv6Code.class);\r
- break;\r
- case 31:\r
- matchEntriesBuilder.setOxmMatchField(Ipv6NdTarget.class);\r
- break;\r
- case 32:\r
- matchEntriesBuilder.setOxmMatchField(Ipv6NdSll.class);\r
- break;\r
- case 33:\r
- matchEntriesBuilder.setOxmMatchField(Ipv6NdTll.class);\r
- break;\r
- case 34:\r
- matchEntriesBuilder.setOxmMatchField(MplsLabel.class);\r
- break;\r
- case 35:\r
- matchEntriesBuilder.setOxmMatchField(MplsTc.class);\r
- break;\r
- case 36:\r
- matchEntriesBuilder.setOxmMatchField(MplsBos.class);\r
- break;\r
- case 37:\r
- matchEntriesBuilder.setOxmMatchField(PbbIsid.class);\r
- break;\r
- case 38:\r
- matchEntriesBuilder.setOxmMatchField(TunnelId.class);\r
- break;\r
- case 39:\r
- matchEntriesBuilder.setOxmMatchField(Ipv6Exthdr.class);\r
- break;\r
- default:\r
- break;\r
- }\r
- matchEntriesList.add(matchEntriesBuilder.build());\r
- }\r
- return matchEntriesList;\r
- }\r
-}\r
import org.opendaylight.openflowjava.protocol.api.extensibility.MessageTypeKey;
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.protocol.api.extensibility.RegistryInjector;
+import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistryInjector;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.DlAddressAction;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ExperimenterAction;
* Serializes ofp_action (OpenFlow v1.0) structures
* @author michal.polkorab
*/
-public class OF10ActionsSerializer implements OFSerializer<Action>, RegistryInjector {
+public class OF10ActionsSerializer implements OFSerializer<Action>, SerializerRegistryInjector {
private static final byte OUTPUT_CODE = 0;
private static final byte SET_VLAN_VID_CODE = 1;
import io.netty.buffer.ByteBuf;
+import org.opendaylight.openflowjava.protocol.api.extensibility.EnhancedMessageTypeKey;
import org.opendaylight.openflowjava.protocol.api.extensibility.HeaderSerializer;
import org.opendaylight.openflowjava.protocol.api.extensibility.MessageTypeKey;
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.protocol.api.extensibility.RegistryInjector;
+import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistryInjector;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
-import org.opendaylight.openflowjava.protocol.impl.deserialization.EnhancedMessageTypeKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.EthertypeAction;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ExperimenterAction;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.GroupIdAction;
* @author timotej.kubas
*/
public class OF13ActionsSerializer implements OFSerializer<Action>,
- HeaderSerializer<Action>, RegistryInjector {
+ HeaderSerializer<Action>, SerializerRegistryInjector {
private static final byte OUTPUT_CODE = 0;
private static final byte COPY_TTL_OUT_CODE = 11;
import org.opendaylight.openflowjava.protocol.api.extensibility.HeaderSerializer;
import org.opendaylight.openflowjava.protocol.api.extensibility.MessageTypeKey;
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.protocol.api.extensibility.RegistryInjector;
+import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistryInjector;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ActionsInstruction;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ExperimenterInstruction;
* @author timotej.kubas
*/
public class OF13InstructionsSerializer implements OFSerializer<Instruction>,
- HeaderSerializer<Instruction>, RegistryInjector {
+ HeaderSerializer<Instruction>, SerializerRegistryInjector {
private static final byte GOTO_TABLE_TYPE = 1;
private static final byte WRITE_METADATA_TYPE = 2;
*/\r
package org.opendaylight.openflowjava.protocol.impl.util;\r
\r
+import org.opendaylight.openflowjava.protocol.api.extensibility.EnhancedMessageTypeKey;\r
import org.opendaylight.openflowjava.protocol.api.extensibility.OFGeneralSerializer;\r
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;\r
-import org.opendaylight.openflowjava.protocol.impl.deserialization.EnhancedMessageTypeKey;\r
\r
/**\r
* @author michal.polkorab\r
import java.util.List;
+import org.opendaylight.openflowjava.protocol.api.extensibility.EnhancedMessageTypeKey;
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.protocol.api.extensibility.RegistryInjector;
+import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistryInjector;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
-import org.opendaylight.openflowjava.protocol.impl.deserialization.EnhancedMessageTypeKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.StandardMatchType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.OxmMatchType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.match.grouping.Match;
* @author michal.polkorab
* @author timotej.kubas
*/
-public class OF13MatchSerializer implements OFSerializer<Match>, RegistryInjector {
+public class OF13MatchSerializer implements OFSerializer<Match>, SerializerRegistryInjector {
private static final Logger LOGGER = LoggerFactory.getLogger(OF13MatchSerializer.class);
private static final byte STANDARD_MATCH_TYPE_CODE = 0;
private static final byte OXM_MATCH_TYPE_CODE = 1;