PostHandshakeNodeProducer help class
[openflowplugin.git] / extension / openflowjava-extension-nicira / src / main / java / org / opendaylight / openflowjava / nx / codec / match / AbstractRegCodec.java
1 package org.opendaylight.openflowjava.nx.codec.match;
2
3 import io.netty.buffer.ByteBuf;
4 import org.opendaylight.openflowjava.protocol.api.util.OxmMatchConstants;
5 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.oxm.container.match.entry.value.ExperimenterIdCase;
6 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class;
7 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.OxmClassBase;
8 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;
9 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder;
10
11 public abstract class AbstractRegCodec extends AbstractMatchCodec {
12
13     private static final int VALUE_LENGTH = 4;
14
15     @Override
16     public MatchEntry deserialize(ByteBuf message) {
17         MatchEntryBuilder matchEntriesBuilder = deserializeHeader(message);
18
19         return matchEntriesBuilder.build();
20     }
21
22     @Override
23     public void serialize(MatchEntry input, ByteBuf outBuffer) {
24         serializeHeader(input, outBuffer);
25         ExperimenterIdCase experimenterIdCase = ((ExperimenterIdCase) input.getMatchEntryValue());
26         outBuffer.writeInt(experimenterIdCase.getExperimenter().getExperimenter().getValue().intValue());
27     }
28
29     @Override
30     public int getOxmClassCode() {
31         return OxmMatchConstants.NXM_1_CLASS;
32     }
33
34     @Override
35     public int getValueLength() {
36         return VALUE_LENGTH;
37     }
38
39     @Override
40     public Class<? extends OxmClassBase> getOxmClass() {
41         return Nxm1Class.class;
42     }
43
44 }