import io.netty.buffer.ByteBuf;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Dscp;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.IpDscp;
-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.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.IpDscpCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.ip.dscp._case.IpDscpBuilder;
* @author michal.polkorab
*/
public class OxmIpDscpDeserializer extends AbstractOxmMatchEntryDeserializer {
- @Override
- public MatchEntry deserialize(final ByteBuf input) {
- MatchEntryBuilder builder = processHeader(getOxmClass(), getOxmField(), input);
- addIpDscpValue(input, builder);
- return builder.build();
+ public OxmIpDscpDeserializer() {
+ super(IpDscp.VALUE);
}
- private static void addIpDscpValue(final ByteBuf input, final MatchEntryBuilder builder) {
+ @Override
+ protected void deserialize(final ByteBuf input, final MatchEntryBuilder builder) {
builder.setMatchEntryValue(new IpDscpCaseBuilder()
.setIpDscp(new IpDscpBuilder().setDscp(new Dscp(ByteBufUtils.readUint8(input))).build())
.build());
}
-
- @Override
- protected Class<? extends MatchField> getOxmField() {
- return IpDscp.class;
- }
-
- @Override
- protected Class<? extends OxmClassBase> getOxmClass() {
- return OpenflowBasicClass.class;
- }
}