Use ByteBuf.readRetainedSlice()
[openflowplugin.git] / openflowjava / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / serialization / action / OF13PopMplsActionSerializer.java
index 4cfebf7b2937399c62dbf20d8dbc7f33ccd5cc4e..cbfdaf14d478f32118d4fbd4884f3379c2fdbd2d 100644 (file)
@@ -5,37 +5,27 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.openflowjava.protocol.impl.serialization.action;
 
 import io.netty.buffer.ByteBuf;
-
 import org.opendaylight.openflowjava.protocol.impl.util.ActionConstants;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.PopMplsCase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action;
 
 /**
- * @author michal.polkorab
+ * Serializes OF 1.3 PopMpls actions.
  *
+ * @author michal.polkorab
  */
 public class OF13PopMplsActionSerializer extends AbstractActionSerializer {
+    public OF13PopMplsActionSerializer() {
+        super(ActionConstants.POP_MPLS_CODE, ActionConstants.GENERAL_ACTION_LENGTH);
+    }
 
     @Override
-    public void serialize(Action action, ByteBuf outBuffer) {
-        super.serialize(action, outBuffer);
+    protected void serializeBody(final Action action, final ByteBuf outBuffer) {
         outBuffer.writeShort(((PopMplsCase) action.getActionChoice())
-                .getPopMplsAction().getEthertype().getValue());
+                .getPopMplsAction().getEthertype().getValue().intValue());
         outBuffer.writeZero(ActionConstants.ETHERTYPE_ACTION_PADDING);
     }
-
-    @Override
-    protected int getLength() {
-        return ActionConstants.GENERAL_ACTION_LENGTH;
-    }
-
-    @Override
-    protected int getType() {
-        return ActionConstants.POP_MPLS_CODE;
-    }
-
 }