c7965880d3778e1cd71bf52ad571ed6f1469aefb
[openflowjava.git] / openflow-extension-nicira / src / main / java / org / opendaylight / openflowjava / nx / codec / action / RegMoveCodec.java
1 package org.opendaylight.openflowjava.nx.codec.action;
2
3 import io.netty.buffer.ByteBuf;
4
5 import org.opendaylight.openflowjava.protocol.api.extensibility.OFDeserializer;
6 import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
7 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.extension.nicira.action.rev140421.ofj.nx.action.reg.move.grouping.ActionRegMove;
8 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.extension.nicira.action.rev140421.ofj.nx.action.reg.move.grouping.ActionRegMoveBuilder;
9
10 public class RegMoveCodec implements OFSerializer<ActionRegMove>, OFDeserializer<ActionRegMove> {
11
12     public static final int LENGTH = 24;
13     public static final byte SUBTYPE = 6; // NXAST_REG_MOVE
14
15     @Override
16     public void serialize(ActionRegMove input, ByteBuf outBuffer) {
17         outBuffer.writeShort(input.getNBits());
18         outBuffer.writeShort(input.getSrcOfs());
19         outBuffer.writeShort(input.getDstOfs());
20         outBuffer.writeInt(input.getSrc().intValue());
21         outBuffer.writeInt(input.getDst().intValue());
22     }
23
24     @Override
25     public ActionRegMove deserialize(ByteBuf message) {
26         ActionRegMoveBuilder actionRegMoveBuilder = new ActionRegMoveBuilder();
27         actionRegMoveBuilder.setNBits(message.readUnsignedShort());
28         actionRegMoveBuilder.setSrcOfs(message.readUnsignedShort());
29         actionRegMoveBuilder.setDstOfs(message.readUnsignedShort());
30         actionRegMoveBuilder.setSrc(message.readUnsignedInt());
31         actionRegMoveBuilder.setDst(message.readUnsignedInt());
32         return actionRegMoveBuilder.build();
33     }
34
35 }