*/
package org.opendaylight.openflowjava.protocol.impl.deserialization.match;
-import io.netty.buffer.ByteBuf;
+import static org.opendaylight.yangtools.yang.common.netty.ByteBufUtils.readUint16;
-import org.opendaylight.openflowjava.protocol.api.extensibility.OFDeserializer;
+import io.netty.buffer.ByteBuf;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchField;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.OpenflowBasicClass;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.OxmClassBase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.TcpSrc;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.TcpSrcCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.tcp.src._case.TcpSrcBuilder;
/**
- * @author michal.polkorab
+ * Translates OxmTcpSrc messages.
*
+ * @author michal.polkorab
*/
-public class OxmTcpSrcDeserializer extends AbstractOxmMatchEntryDeserializer
- implements OFDeserializer<MatchEntry> {
-
- @Override
- public MatchEntry deserialize(ByteBuf input) {
- MatchEntryBuilder builder = processHeader(getOxmClass(), getOxmField(), input);
- addTcpSrcValue(input, builder);
- return builder.build();
- }
-
- private static void addTcpSrcValue(ByteBuf input, MatchEntryBuilder builder) {
- TcpSrcCaseBuilder caseBuilder = new TcpSrcCaseBuilder();
- TcpSrcBuilder tcpBuilder = new TcpSrcBuilder();
- tcpBuilder.setPort(new PortNumber(input.readUnsignedShort()));
- caseBuilder.setTcpSrc(tcpBuilder.build());
- builder.setMatchEntryValue(caseBuilder.build());
- }
-
- @Override
- protected Class<? extends MatchField> getOxmField() {
- return TcpSrc.class;
+public class OxmTcpSrcDeserializer extends AbstractOxmMatchEntryDeserializer {
+ public OxmTcpSrcDeserializer() {
+ super(TcpSrc.VALUE);
}
@Override
- protected Class<? extends OxmClassBase> getOxmClass() {
- return OpenflowBasicClass.class;
+ protected void deserialize(final ByteBuf input, final MatchEntryBuilder builder) {
+ builder.setMatchEntryValue(new TcpSrcCaseBuilder()
+ .setTcpSrc(new TcpSrcBuilder().setPort(new PortNumber(readUint16(input))).build())
+ .build());
}
}