package org.opendaylight.openflowjava.protocol.impl.serialization.factories;
import io.netty.buffer.ByteBuf;
-
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
+import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.BarrierInput;
/**
- * Translates BarrierRequest messages
+ * Translates BarrierRequest messages.
+ *
* @author michal.polkorab
* @author timotej.kubas
*/
public class BarrierInputMessageFactory implements OFSerializer<BarrierInput> {
- /** Code type of BarrierRequest message */
+ /** Code type of BarrierRequest message. */
private static final byte MESSAGE_TYPE = 20;
@Override
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.BarrierOutput;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates BarrierReply messages.
*
+ * @author giuseppex.petralia@intel.com
*/
public class BarrierReplyMessageFactory implements OFSerializer<BarrierOutput> {
package org.opendaylight.openflowjava.protocol.impl.serialization.factories;
import io.netty.buffer.ByteBuf;
-
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
+import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.EchoInput;
/**
- * Translates EchoRequest messages (both OpenFlow v1.0 and OpenFlow v1.3)
+ * Translates EchoInput messages (both OpenFlow v1.0 and OpenFlow v1.3).
+ *
* @author michal.polkorab
* @author timotej.kubas
*/
public class EchoInputMessageFactory implements OFSerializer<EchoInput> {
- /** Code type of EchoRequest message */
+ /** Code type of EchoRequest message. */
private static final byte MESSAGE_TYPE = 2;
@Override
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.EchoOutput;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates EchoOutput messages (both OpenFlow v1.0 and OpenFlow v1.3).
*
+ * @author giuseppex.petralia@intel.com
*/
public class EchoOutputMessageFactory implements OFSerializer<EchoOutput> {
package org.opendaylight.openflowjava.protocol.impl.serialization.factories;
import io.netty.buffer.ByteBuf;
-
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
+import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.EchoReplyInput;
/**
- * Translates EchoReply messages (both OpenFlow v1.0 and OpenFlow v1.3)
+ * Translates EchoReply messages (both OpenFlow v1.0 and OpenFlow v1.3).
+ *
* @author michal.polkorab
* @author timotej.kubas
*/
-public class EchoReplyInputMessageFactory implements OFSerializer<EchoReplyInput>{
+public class EchoReplyInputMessageFactory implements OFSerializer<EchoReplyInput> {
- /** Code type of EchoReply message */
+ /** Code type of EchoReply message. */
private static final byte MESSAGE_TYPE = 3;
@Override
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.EchoRequestMessage;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates EchoRequest messages (both OpenFlow v1.0 and OpenFlow v1.3).
*
+ * @author giuseppex.petralia@intel.com
*/
public class EchoRequestMessageFactory implements OFSerializer<EchoRequestMessage> {
private static final byte MESSAGE_TYPE = 2;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.ErrorMessage;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates ErrorMessage messages (both OpenFlow v1.0 and OpenFlow v1.3).
*
+ * @author giuseppex.petralia@intel.com
*/
public class ErrorMessageFactory implements OFSerializer<ErrorMessage> {
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.experimenter.core.ExperimenterDataOfChoice;
/**
- * Translates Experimenter messages (both: symmetric request and single reply)
+ * Translates Experimenter messages (both: symmetric request and single reply).
+ *
* @author michal.polkorab
*/
public class ExperimenterInputMessageFactory implements OFSerializer<ExperimenterOfMessage>,
private SerializerRegistry registry;
- /** Code type of symmetric Experimenter message */
+ /** Code type of symmetric Experimenter message. */
private static final byte MESSAGE_TYPE = 4;
@Override
public void serialize(ExperimenterOfMessage message, ByteBuf outBuffer) {
long expId = message.getExperimenter().getValue();
- OFSerializer<ExperimenterDataOfChoice> serializer = registry.getSerializer(
+ final OFSerializer<ExperimenterDataOfChoice> serializer = registry.getSerializer(
ExperimenterSerializerKeyFactory.createExperimenterMessageSerializerKey(
EncodeConstants.OF13_VERSION_ID, expId, message.getExpType().longValue()));
ByteBufUtils.writeOFHeader(MESSAGE_TYPE, message, outBuffer, EncodeConstants.EMPTY_LENGTH);
public void injectSerializerRegistry(SerializerRegistry serializerRegistry) {
this.registry = serializerRegistry;
}
-}
\ No newline at end of file
+}
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.ExperimenterMessage;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates ExperimenterMessages.
*
+ * @author giuseppex.petralia@intel.com
*/
public class ExperimenterMessageFactory implements OFSerializer<ExperimenterMessage> {
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.FlowMod;
/**
- * Translates FlowMod messages.
- * OF protocol versions: 1.3.
+ * Translates FlowMod messages. OF protocol versions: 1.3.
+ *
* @author timotej.kubas
* @author michal.polkorab
*/
@Override
public void serialize(final FlowMod message, final ByteBuf outBuffer) {
- int index = outBuffer.writerIndex();
+ final int index = outBuffer.writerIndex();
ByteBufUtils.writeOFHeader(MESSAGE_TYPE, message, outBuffer, EncodeConstants.EMPTY_LENGTH);
outBuffer.writeLong(message.getCookie().longValue());
outBuffer.writeLong(message.getCookieMask().longValue());
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.FlowRemovedMessage;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates FlowRemoved messages.
*
+ * @author giuseppex.petralia@intel.com
*/
public class FlowRemovedMessageFactory implements OFSerializer<FlowRemovedMessage>, SerializerRegistryInjector {
@Override
public void serialize(FlowRemovedMessage message, ByteBuf outBuffer) {
- int index = outBuffer.writerIndex();
+ final int index = outBuffer.writerIndex();
ByteBufUtils.writeOFHeader(MESSAGE_TYPE, message, outBuffer, EncodeConstants.EMPTY_LENGTH);
outBuffer.writeLong(message.getCookie().longValue());
outBuffer.writeShort(message.getPriority());
outBuffer.writeShort(message.getHardTimeout());
outBuffer.writeLong(message.getPacketCount().longValue());
outBuffer.writeLong(message.getByteCount().longValue());
- OFSerializer<Match> matchSerializer = registry
- .<Match, OFSerializer<Match>> getSerializer(new MessageTypeKey<>(message.getVersion(), Match.class));
+ OFSerializer<Match> matchSerializer = registry.<Match, OFSerializer<Match>>getSerializer(
+ new MessageTypeKey<>(message.getVersion(), Match.class));
matchSerializer.serialize(message.getMatch(), outBuffer);
ByteBufUtils.updateOFHeaderLength(outBuffer, index);
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.async.body.grouping.PortStatusMask;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates GetAsyncOutput messages.
*
+ * @author giuseppex.petralia@intel.com
*/
-
public class GetAsyncReplyMessageFactory implements OFSerializer<GetAsyncOutput> {
private static final byte MESSAGE_TYPE = 27;
package org.opendaylight.openflowjava.protocol.impl.serialization.factories;
import io.netty.buffer.ByteBuf;
-
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
+import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetAsyncInput;
/**
- * Translates GetAsyncRequest messages
+ * Translates GetAsyncRequest messages.
+ *
* @author timotej.kubas
* @author michal.polkorab
*/
package org.opendaylight.openflowjava.protocol.impl.serialization.factories;
import io.netty.buffer.ByteBuf;
-
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
+import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetConfigInput;
/**
- * Translates GetConfigRequest messages (both OpenFlow v1.0 and OpenFlow v1.3)
+ * Translates GetConfigRequest messages (both OpenFlow v1.0 and OpenFlow v1.3).
+ *
* @author michal.polkorab
* @author timotej.kubas
*/
public class GetConfigInputMessageFactory implements OFSerializer<GetConfigInput> {
- /** Code type of GetConfigRequest message */
+ /** Code type of GetConfigRequest message. */
private static final byte MESSAGE_TYPE = 7;
@Override
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetConfigOutput;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates GetConfigOutput messages.
*
+ * @author giuseppex.petralia@intel.com
*/
public class GetConfigReplyMessageFactory implements OFSerializer<GetConfigOutput> {
package org.opendaylight.openflowjava.protocol.impl.serialization.factories;
import io.netty.buffer.ByteBuf;
-
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
+import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetFeaturesInput;
/**
- * Translates FeaturesRequest messages (both OpenFlow v1.0 and OpenFlow v1.3)
+ * Translates FeaturesRequest messages (both OpenFlow v1.0 and OpenFlow v1.3).
+ *
* @author michal.polkorab
* @author timotej.kubas
*/
-public class GetFeaturesInputMessageFactory implements OFSerializer<GetFeaturesInput>{
+public class GetFeaturesInputMessageFactory implements OFSerializer<GetFeaturesInput> {
- /** Code type of FeaturesRequest message */
+ /** Code type of FeaturesRequest message. */
private static final byte MESSAGE_TYPE = 5;
@Override
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetFeaturesOutput;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates FeaturesReply messages (both OpenFlow v1.0 and OpenFlow v1.3).
*
+ * @author giuseppex.petralia@intel.com
*/
public class GetFeaturesOutputFactory implements OFSerializer<GetFeaturesOutput>, SerializerRegistryInjector {
package org.opendaylight.openflowjava.protocol.impl.serialization.factories;
import io.netty.buffer.ByteBuf;
-
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetQueueConfigInput;
/**
- * Translates QueueGetConfigRequest messages
+ * Translates QueueGetConfigRequest messages.
+ *
* @author timotej.kubas
* @author michal.polkorab
*/
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.buckets.grouping.BucketsList;
/**
- * Translates GroupMod messages.
- * OF protocol versions: 1.3.
+ * Translates GroupMod messages. OF protocol versions: 1.3.
+ *
* @author timotej.kubas
* @author michal.polkorab
*/
@Override
public void serialize(GroupMod message, ByteBuf outBuffer) {
- int index = outBuffer.writerIndex();
+ final int index = outBuffer.writerIndex();
ByteBufUtils.writeOFHeader(MESSAGE_TYPE, message, outBuffer, EncodeConstants.EMPTY_LENGTH);
if (isGroupAddModEnaled) {
if (message.getCommand().equals(GroupModCommand.OFPGCADD)
private void serializerBuckets(List<BucketsList> buckets, ByteBuf outBuffer) {
if (buckets != null) {
for (BucketsList currentBucket : buckets) {
- int bucketLengthIndex = outBuffer.writerIndex();
+ final int bucketLengthIndex = outBuffer.writerIndex();
outBuffer.writeShort(EncodeConstants.EMPTY_LENGTH);
outBuffer.writeShort(currentBucket.getWeight().shortValue());
outBuffer.writeInt(currentBucket.getWatchPort().getValue().intValue());
package org.opendaylight.openflowjava.protocol.impl.serialization.factories;
import io.netty.buffer.ByteBuf;
-
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.hello.Elements;
/**
- * Translates Hello messages
+ * Translates Hello messages.
+ *
* @author michal.polkorab
* @author timotej.kubas
*/
-public class HelloInputMessageFactory implements OFSerializer<HelloInput>{
+public class HelloInputMessageFactory implements OFSerializer<HelloInput> {
- /** Code type of Hello message */
+ /** Code type of Hello message. */
private static final byte MESSAGE_TYPE = 0;
private static final byte HELLO_ELEMENT_HEADER_SIZE = 4;
int elementStartIndex = output.writerIndex();
output.writeShort(currElement.getType().getIntValue());
if (currElement.getType().equals(HelloElementType.VERSIONBITMAP)) {
- int elementLengthIndex = output.writerIndex();
+ final int elementLengthIndex = output.writerIndex();
output.writeShort(EncodeConstants.EMPTY_LENGTH);
versionBitmap = ByteBufUtils.fillBitMaskFromList(currElement.getVersionBitmap());
- for (int i = 0; i < versionBitmap.length; i++) {
- output.writeInt(versionBitmap[i]);
+ for (int element : versionBitmap) {
+ output.writeInt(element);
}
int length = output.writerIndex() - elementStartIndex;
int padding = length - versionBitmap.length * 4 - HELLO_ELEMENT_HEADER_SIZE;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.HelloMessage;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates Hello messages.
*
+ * @author giuseppex.petralia@intel.com
*/
public class HelloMessageFactory implements OFSerializer<HelloMessage> {
private static final byte MESSAGE_TYPE = 0;
package org.opendaylight.openflowjava.protocol.impl.serialization.factories;
import io.netty.buffer.ByteBuf;
+import java.util.List;
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistryInjector;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.List;
-
/**
- * Translates MeterMod messages
+ * Translates MeterMod messages.
+ *
* @author timotej.kubas
* @author michal.polkorab
*/
} else if (meterBand instanceof MeterBandExperimenterCase) {
MeterBandExperimenterCase experimenterBandCase = (MeterBandExperimenterCase) meterBand;
MeterBandExperimenter experimenterBand = experimenterBandCase.getMeterBandExperimenter();
- ExperimenterIdMeterBand expIdMeterBand = experimenterBand.getAugmentation(ExperimenterIdMeterBand.class);
+ ExperimenterIdMeterBand expIdMeterBand =
+ experimenterBand.getAugmentation(ExperimenterIdMeterBand.class);
if (expIdMeterBand != null) {
long expId = expIdMeterBand.getExperimenter().getValue();
Class<? extends ExperimenterMeterBandSubType> meterBandSubType = expIdMeterBand.getSubType();
EncodeConstants.OF13_VERSION_ID, expId, meterBandSubType));
serializer.serialize(experimenterBandCase, outBuffer);
} catch (final IllegalStateException e) {
- LOG.warn("Serializer for key: {} wasn't found, exception {}", ExperimenterSerializerKeyFactory.createMeterBandSerializerKey(
+ LOG.warn("Serializer for key: {} wasn't found, exception {}",
+ ExperimenterSerializerKeyFactory.createMeterBandSerializerKey(
EncodeConstants.OF13_VERSION_ID, expId, meterBandSubType), e);
}
}
public void injectSerializerRegistry(final SerializerRegistry serializerRegistry) {
registry = serializerRegistry;
}
-}
\ No newline at end of file
+}
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.table.features.properties.grouping.TableFeatureProperties;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates MultipartReply messages.
*
+ * @author giuseppex.petralia@intel.com
*/
public class MultipartReplyMessageFactory implements OFSerializer<MultipartReplyMessage>, SerializerRegistryInjector {
writeFlags(message.getFlags(), outBuffer);
outBuffer.writeZero(PADDING);
switch (message.getType()) {
- case OFPMPDESC:
- serializeDescBody(message.getMultipartReplyBody(), outBuffer);
- break;
- case OFPMPFLOW:
- serializeFlowBody(message.getMultipartReplyBody(), outBuffer, message);
- break;
- case OFPMPAGGREGATE:
- serializeAggregateBody(message.getMultipartReplyBody(), outBuffer);
- break;
- case OFPMPTABLE:
- serializeTableBody(message.getMultipartReplyBody(), outBuffer);
- break;
- case OFPMPPORTSTATS:
- serializePortStatsBody(message.getMultipartReplyBody(), outBuffer);
- break;
- case OFPMPQUEUE:
- serializeQueueBody(message.getMultipartReplyBody(), outBuffer);
- break;
- case OFPMPGROUP:
- serializeGroupBody(message.getMultipartReplyBody(), outBuffer);
- break;
- case OFPMPGROUPDESC:
- serializeGroupDescBody(message.getMultipartReplyBody(), outBuffer, message);
- break;
- case OFPMPGROUPFEATURES:
- serializeGroupFeaturesBody(message.getMultipartReplyBody(), outBuffer);
- break;
- case OFPMPMETER:
- serializeMeterBody(message.getMultipartReplyBody(), outBuffer);
- break;
- case OFPMPMETERCONFIG:
- serializeMeterConfigBody(message.getMultipartReplyBody(), outBuffer);
- break;
- case OFPMPMETERFEATURES:
- serializeMeterFeaturesBody(message.getMultipartReplyBody(), outBuffer);
- break;
- case OFPMPTABLEFEATURES:
- serializeTableFeaturesBody(message.getMultipartReplyBody(), outBuffer);
- break;
- case OFPMPPORTDESC:
- serializePortDescBody(message.getMultipartReplyBody(), outBuffer);
- break;
- case OFPMPEXPERIMENTER:
- serializeExperimenterBody(message.getMultipartReplyBody(), outBuffer);
- break;
+ case OFPMPDESC:
+ serializeDescBody(message.getMultipartReplyBody(), outBuffer);
+ break;
+ case OFPMPFLOW:
+ serializeFlowBody(message.getMultipartReplyBody(), outBuffer, message);
+ break;
+ case OFPMPAGGREGATE:
+ serializeAggregateBody(message.getMultipartReplyBody(), outBuffer);
+ break;
+ case OFPMPTABLE:
+ serializeTableBody(message.getMultipartReplyBody(), outBuffer);
+ break;
+ case OFPMPPORTSTATS:
+ serializePortStatsBody(message.getMultipartReplyBody(), outBuffer);
+ break;
+ case OFPMPQUEUE:
+ serializeQueueBody(message.getMultipartReplyBody(), outBuffer);
+ break;
+ case OFPMPGROUP:
+ serializeGroupBody(message.getMultipartReplyBody(), outBuffer);
+ break;
+ case OFPMPGROUPDESC:
+ serializeGroupDescBody(message.getMultipartReplyBody(), outBuffer, message);
+ break;
+ case OFPMPGROUPFEATURES:
+ serializeGroupFeaturesBody(message.getMultipartReplyBody(), outBuffer);
+ break;
+ case OFPMPMETER:
+ serializeMeterBody(message.getMultipartReplyBody(), outBuffer);
+ break;
+ case OFPMPMETERCONFIG:
+ serializeMeterConfigBody(message.getMultipartReplyBody(), outBuffer);
+ break;
+ case OFPMPMETERFEATURES:
+ serializeMeterFeaturesBody(message.getMultipartReplyBody(), outBuffer);
+ break;
+ case OFPMPTABLEFEATURES:
+ serializeTableFeaturesBody(message.getMultipartReplyBody(), outBuffer);
+ break;
+ case OFPMPPORTDESC:
+ serializePortDescBody(message.getMultipartReplyBody(), outBuffer);
+ break;
+ case OFPMPEXPERIMENTER:
+ serializeExperimenterBody(message.getMultipartReplyBody(), outBuffer);
+ break;
+ default:
+ break;
}
ByteBufUtils.updateOFHeaderLength(outBuffer);
}
tableFeatureBuff.writeInt(tableFeature.getMaxEntries().intValue());
for (TableFeatureProperties tableFeatureProp : tableFeature.getTableFeatureProperties()) {
switch (tableFeatureProp.getType()) {
- case OFPTFPTINSTRUCTIONS:
- writeInstructionRelatedTableProperty(tableFeatureBuff, tableFeatureProp, INSTRUCTIONS_CODE);
- break;
- case OFPTFPTINSTRUCTIONSMISS:
- writeInstructionRelatedTableProperty(tableFeatureBuff, tableFeatureProp, INSTRUCTIONS_MISS_CODE);
- break;
- case OFPTFPTNEXTTABLES:
- writeNextTableRelatedTableProperty(tableFeatureBuff, tableFeatureProp, NEXT_TABLE_CODE);
- break;
- case OFPTFPTNEXTTABLESMISS:
- writeNextTableRelatedTableProperty(tableFeatureBuff, tableFeatureProp, NEXT_TABLE_MISS_CODE);
- break;
- case OFPTFPTWRITEACTIONS:
- writeActionsRelatedTableProperty(tableFeatureBuff, tableFeatureProp, WRITE_ACTIONS_CODE);
- break;
- case OFPTFPTWRITEACTIONSMISS:
- writeActionsRelatedTableProperty(tableFeatureBuff, tableFeatureProp, WRITE_ACTIONS_MISS_CODE);
- break;
- case OFPTFPTAPPLYACTIONS:
- writeActionsRelatedTableProperty(tableFeatureBuff, tableFeatureProp, APPLY_ACTIONS_CODE);
- break;
- case OFPTFPTAPPLYACTIONSMISS:
- writeActionsRelatedTableProperty(tableFeatureBuff, tableFeatureProp, APPLY_ACTIONS_MISS_CODE);
- break;
- case OFPTFPTMATCH:
- writeOxmRelatedTableProperty(tableFeatureBuff, tableFeatureProp, MATCH_CODE);
- break;
- case OFPTFPTWILDCARDS:
- writeOxmRelatedTableProperty(tableFeatureBuff, tableFeatureProp, WILDCARDS_CODE);
- break;
- case OFPTFPTWRITESETFIELD:
- writeOxmRelatedTableProperty(tableFeatureBuff, tableFeatureProp, WRITE_SETFIELD_CODE);
- break;
- case OFPTFPTWRITESETFIELDMISS:
- writeOxmRelatedTableProperty(tableFeatureBuff, tableFeatureProp, WRITE_SETFIELD_MISS_CODE);
- break;
- case OFPTFPTAPPLYSETFIELD:
- writeOxmRelatedTableProperty(tableFeatureBuff, tableFeatureProp, APPLY_SETFIELD_CODE);
- break;
- case OFPTFPTAPPLYSETFIELDMISS:
- writeOxmRelatedTableProperty(tableFeatureBuff, tableFeatureProp, APPLY_SETFIELD_MISS_CODE);
- break;
- case OFPTFPTEXPERIMENTER:
- writeExperimenterRelatedTableProperty(tableFeatureBuff, tableFeatureProp);
- break;
- case OFPTFPTEXPERIMENTERMISS:
- writeExperimenterRelatedTableProperty(tableFeatureBuff, tableFeatureProp);
- break;
+ case OFPTFPTINSTRUCTIONS:
+ writeInstructionRelatedTableProperty(tableFeatureBuff, tableFeatureProp, INSTRUCTIONS_CODE);
+ break;
+ case OFPTFPTINSTRUCTIONSMISS:
+ writeInstructionRelatedTableProperty(tableFeatureBuff, tableFeatureProp,
+ INSTRUCTIONS_MISS_CODE);
+ break;
+ case OFPTFPTNEXTTABLES:
+ writeNextTableRelatedTableProperty(tableFeatureBuff, tableFeatureProp, NEXT_TABLE_CODE);
+ break;
+ case OFPTFPTNEXTTABLESMISS:
+ writeNextTableRelatedTableProperty(tableFeatureBuff, tableFeatureProp, NEXT_TABLE_MISS_CODE);
+ break;
+ case OFPTFPTWRITEACTIONS:
+ writeActionsRelatedTableProperty(tableFeatureBuff, tableFeatureProp, WRITE_ACTIONS_CODE);
+ break;
+ case OFPTFPTWRITEACTIONSMISS:
+ writeActionsRelatedTableProperty(tableFeatureBuff, tableFeatureProp, WRITE_ACTIONS_MISS_CODE);
+ break;
+ case OFPTFPTAPPLYACTIONS:
+ writeActionsRelatedTableProperty(tableFeatureBuff, tableFeatureProp, APPLY_ACTIONS_CODE);
+ break;
+ case OFPTFPTAPPLYACTIONSMISS:
+ writeActionsRelatedTableProperty(tableFeatureBuff, tableFeatureProp, APPLY_ACTIONS_MISS_CODE);
+ break;
+ case OFPTFPTMATCH:
+ writeOxmRelatedTableProperty(tableFeatureBuff, tableFeatureProp, MATCH_CODE);
+ break;
+ case OFPTFPTWILDCARDS:
+ writeOxmRelatedTableProperty(tableFeatureBuff, tableFeatureProp, WILDCARDS_CODE);
+ break;
+ case OFPTFPTWRITESETFIELD:
+ writeOxmRelatedTableProperty(tableFeatureBuff, tableFeatureProp, WRITE_SETFIELD_CODE);
+ break;
+ case OFPTFPTWRITESETFIELDMISS:
+ writeOxmRelatedTableProperty(tableFeatureBuff, tableFeatureProp, WRITE_SETFIELD_MISS_CODE);
+ break;
+ case OFPTFPTAPPLYSETFIELD:
+ writeOxmRelatedTableProperty(tableFeatureBuff, tableFeatureProp, APPLY_SETFIELD_CODE);
+ break;
+ case OFPTFPTAPPLYSETFIELDMISS:
+ writeOxmRelatedTableProperty(tableFeatureBuff, tableFeatureProp, APPLY_SETFIELD_MISS_CODE);
+ break;
+ case OFPTFPTEXPERIMENTER:
+ writeExperimenterRelatedTableProperty(tableFeatureBuff, tableFeatureProp);
+ break;
+ case OFPTFPTEXPERIMENTERMISS:
+ writeExperimenterRelatedTableProperty(tableFeatureBuff, tableFeatureProp);
+ break;
+ default:
+ break;
}
}
tableFeatureBuff.setShort(TABLE_FEATURES_LENGTH_INDEX, tableFeatureBuff.readableBytes());
private void writeOxmRelatedTableProperty(final ByteBuf output, final TableFeatureProperties property,
final byte code) {
- int startIndex = output.writerIndex();
+ final int startIndex = output.writerIndex();
output.writeShort(code);
int lengthIndex = output.writerIndex();
output.writeShort(EncodeConstants.EMPTY_LENGTH);
private void writeActionsRelatedTableProperty(final ByteBuf output, final TableFeatureProperties property,
final byte code) {
- int startIndex = output.writerIndex();
+ final int startIndex = output.writerIndex();
output.writeShort(code);
int lengthIndex = output.writerIndex();
output.writeShort(EncodeConstants.EMPTY_LENGTH);
private static void writeNextTableRelatedTableProperty(final ByteBuf output, final TableFeatureProperties property,
final byte code) {
- int startIndex = output.writerIndex();
+ final int startIndex = output.writerIndex();
output.writeShort(code);
int lengthIndex = output.writerIndex();
output.writeShort(EncodeConstants.EMPTY_LENGTH);
private void writeInstructionRelatedTableProperty(final ByteBuf output, final TableFeatureProperties property,
final byte code) {
- int startIndex = output.writerIndex();
+ final int startIndex = output.writerIndex();
output.writeShort(code);
int lengthIndex = output.writerIndex();
output.writeShort(EncodeConstants.EMPTY_LENGTH);
outBuffer.writeInt(bitmap);
}
- private void serializeGroupDescBody(final MultipartReplyBody body, final ByteBuf outBuffer, final MultipartReplyMessage message) {
+ private void serializeGroupDescBody(final MultipartReplyBody body, final ByteBuf outBuffer,
+ final MultipartReplyMessage message) {
MultipartReplyGroupDescCase groupDescCase = (MultipartReplyGroupDescCase) body;
MultipartReplyGroupDesc group = groupDescCase.getMultipartReplyGroupDesc();
for (GroupDesc groupDesc : group.getGroupDesc()) {
outBuffer.writeZero(AGGREGATE_PADDING);
}
- private void serializeFlowBody(final MultipartReplyBody body, final ByteBuf outBuffer, final MultipartReplyMessage message) {
+ private void serializeFlowBody(final MultipartReplyBody body, final ByteBuf outBuffer,
+ final MultipartReplyMessage message) {
MultipartReplyFlowCase flowCase = (MultipartReplyFlowCase) body;
MultipartReplyFlow flow = flowCase.getMultipartReplyFlow();
for (FlowStats flowStats : flow.getFlowStats()) {
flowStatsBuff.writeLong(flowStats.getCookie().longValue());
flowStatsBuff.writeLong(flowStats.getPacketCount().longValue());
flowStatsBuff.writeLong(flowStats.getByteCount().longValue());
- OFSerializer<Match> matchSerializer = registry.<Match, OFSerializer<Match>> getSerializer(
+ OFSerializer<Match> matchSerializer = registry.<Match, OFSerializer<Match>>getSerializer(
new MessageTypeKey<>(message.getVersion(), Match.class));
matchSerializer.serialize(flowStats.getMatch(), flowStatsBuff);
ListSerializer.serializeList(flowStats.getInstruction(),
byte[] nameBytes = toWrite.getBytes();
if (nameBytes.length < 256) {
byte[] nameBytesPadding = new byte[256];
- int i = 0;
+ int index = 0;
for (byte b : nameBytes) {
- nameBytesPadding[i] = b;
- i++;
+ nameBytesPadding[index] = b;
+ index++;
}
- for (; i < 256; i++) {
- nameBytesPadding[i] = 0x0;
+ for (; index < 256; index++) {
+ nameBytesPadding[index] = 0x0;
}
outBuffer.writeBytes(nameBytesPadding);
} else {
byte[] nameBytes = toWrite.getBytes();
if (nameBytes.length < 32) {
byte[] nameBytesPadding = new byte[32];
- int i = 0;
+ int index = 0;
for (byte b : nameBytes) {
- nameBytesPadding[i] = b;
- i++;
+ nameBytesPadding[index] = b;
+ index++;
}
- for (; i < 32; i++) {
- nameBytesPadding[i] = 0x0;
+ for (; index < 32; index++) {
+ nameBytesPadding[index] = 0x0;
}
outBuffer.writeBytes(nameBytesPadding);
} else {
byte[] nameBytes = name.getBytes();
if (nameBytes.length < 16) {
byte[] nameBytesPadding = new byte[16];
- int i = 0;
+ int index = 0;
for (byte b : nameBytes) {
- nameBytesPadding[i] = b;
- i++;
+ nameBytesPadding[index] = b;
+ index++;
}
- for (; i < 16; i++) {
- nameBytesPadding[i] = 0x0;
+ for (; index < 16; index++) {
+ nameBytesPadding[index] = 0x0;
}
outBuffer.writeBytes(nameBytesPadding);
} else {
/**
* Translates MultipartRequest messages.
+ *
* @author timotej.kubas
* @author michal.polkorab
*/
outBuffer.writeShort(createMultipartRequestFlagsBitmask(message.getFlags()));
outBuffer.writeZero(PADDING_IN_MULTIPART_REQUEST_MESSAGE);
- if (message.getMultipartRequestBody() instanceof MultipartRequestDescCase){
+ if (message.getMultipartRequestBody() instanceof MultipartRequestDescCase) {
serializeDescBody();
} else if (message.getMultipartRequestBody() instanceof MultipartRequestFlowCase) {
serializeFlowBody(message.getMultipartRequestBody(), outBuffer);
} else if (message.getMultipartRequestBody() instanceof MultipartRequestPortDescCase) {
serializePortDescBody();
} else if (message.getMultipartRequestBody() instanceof MultipartRequestExperimenterCase) {
- serializeExperimenterBody(message, outBuffer);
+ serializeExperimenterBody(message, outBuffer);
}
ByteBufUtils.updateOFHeaderLength(outBuffer);
}
output.writeInt(queue.getQueueId().intValue());
}
- private static void serializeeGroupStatsBody(final MultipartRequestBody multipartRequestBody, final ByteBuf output) {
+ private static void serializeeGroupStatsBody(final MultipartRequestBody multipartRequestBody,
+ final ByteBuf output) {
MultipartRequestGroupCase groupStatsCase = (MultipartRequestGroupCase) multipartRequestBody;
MultipartRequestGroup groupStats = groupStatsCase.getMultipartRequestGroup();
output.writeInt(groupStats.getGroupId().getValue().intValue());
output.writeZero(PADDING_IN_MULTIPART_REQUEST_METER_BODY);
}
- private static void serializeMeterConfigBody(final MultipartRequestBody multipartRequestBody, final ByteBuf output) {
+ private static void serializeMeterConfigBody(final MultipartRequestBody multipartRequestBody,
+ final ByteBuf output) {
MultipartRequestMeterConfigCase meterConfigCase = (MultipartRequestMeterConfigCase) multipartRequestBody;
MultipartRequestMeterConfig meterConfig = meterConfigCase.getMultipartRequestMeterConfig();
output.writeInt(meterConfig.getMeterId().getValue().intValue());
private void serializeTableFeaturesBody(final MultipartRequestBody multipartRequestBody, final ByteBuf output) {
if (multipartRequestBody != null) {
- MultipartRequestTableFeaturesCase tableFeaturesCase = (MultipartRequestTableFeaturesCase) multipartRequestBody;
+ MultipartRequestTableFeaturesCase tableFeaturesCase =
+ (MultipartRequestTableFeaturesCase)multipartRequestBody;
MultipartRequestTableFeatures tableFeatures = tableFeaturesCase.getMultipartRequestTableFeatures();
- if(tableFeatures.getTableFeatures() != null) {
+ if (tableFeatures.getTableFeatures() != null) {
for (TableFeatures currTableFeature : tableFeatures.getTableFeatures()) {
- int tableFeatureLengthIndex = output.writerIndex();
+ final int tableFeatureLengthIndex = output.writerIndex();
output.writeShort(EncodeConstants.EMPTY_LENGTH);
output.writeByte(currTableFeature.getTableId());
output.writeZero(PADDING_IN_MULTIPART_REQUEST_TABLE_FEATURES_BODY);
private void writeInstructionRelatedTableProperty(final ByteBuf output,
final TableFeatureProperties property, final byte code) {
- int startIndex = output.writerIndex();
+ final int startIndex = output.writerIndex();
output.writeShort(code);
int lengthIndex = output.writerIndex();
output.writeShort(EncodeConstants.EMPTY_LENGTH);
- List<Instruction> instructions = property.
- getAugmentation(InstructionRelatedTableFeatureProperty.class).getInstruction();
+ List<Instruction> instructions = property.getAugmentation(
+ InstructionRelatedTableFeatureProperty.class).getInstruction();
if (instructions != null) {
TypeKeyMaker<Instruction> keyMaker = TypeKeyMakerFactory
.createInstructionKeyMaker(EncodeConstants.OF13_VERSION_ID);
private static void writeNextTableRelatedTableProperty(final ByteBuf output,
final TableFeatureProperties property, final byte code) {
- int startIndex = output.writerIndex();
+ final int startIndex = output.writerIndex();
output.writeShort(code);
int lengthIndex = output.writerIndex();
output.writeShort(EncodeConstants.EMPTY_LENGTH);
- List<NextTableIds> nextTableIds = property.
- getAugmentation(NextTableRelatedTableFeatureProperty.class).getNextTableIds();
+ List<NextTableIds> nextTableIds = property.getAugmentation(
+ NextTableRelatedTableFeatureProperty.class).getNextTableIds();
if (nextTableIds != null) {
for (NextTableIds next : nextTableIds) {
output.writeByte(next.getTableId());
private void writeActionsRelatedTableProperty(final ByteBuf output,
final TableFeatureProperties property, final byte code) {
- int startIndex = output.writerIndex();
+ final int startIndex = output.writerIndex();
output.writeShort(code);
int lengthIndex = output.writerIndex();
output.writeShort(EncodeConstants.EMPTY_LENGTH);
- List<Action> actions = property.
- getAugmentation(ActionRelatedTableFeatureProperty.class).getAction();
+ List<Action> actions = property.getAugmentation(ActionRelatedTableFeatureProperty.class).getAction();
if (actions != null) {
TypeKeyMaker<Action> keyMaker = TypeKeyMakerFactory
.createActionKeyMaker(EncodeConstants.OF13_VERSION_ID);
private void writeOxmRelatedTableProperty(final ByteBuf output,
final TableFeatureProperties property, final byte code) {
- int startIndex = output.writerIndex();
+ final int startIndex = output.writerIndex();
output.writeShort(code);
int lengthIndex = output.writerIndex();
output.writeShort(EncodeConstants.EMPTY_LENGTH);
- List<MatchEntry> entries = property.
- getAugmentation(OxmRelatedTableFeatureProperty.class).getMatchEntry();
+ List<MatchEntry> entries = property.getAugmentation(OxmRelatedTableFeatureProperty.class).getMatchEntry();
if (entries != null) {
TypeKeyMaker<MatchEntry> keyMaker = TypeKeyMakerFactory
.createMatchEntriesKeyMaker(EncodeConstants.OF13_VERSION_ID);
package org.opendaylight.openflowjava.protocol.impl.serialization.factories;
import io.netty.buffer.ByteBuf;
-
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
+import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.BarrierInput;
/**
- * Translates BarrierRequest messages
+ * Translates BarrierRequest messages.
+ *
* @author michal.polkorab
*/
public class OF10BarrierInputMessageFactory implements OFSerializer<BarrierInput> {
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.BarrierOutput;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates BarrierReply messages.
*
+ * @author giuseppex.petralia@intel.com
*/
public class OF10BarrierReplyMessageFactory implements OFSerializer<BarrierOutput> {
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.features.reply.PhyPort;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates FeaturesReply messages.
*
+ * @author giuseppex.petralia@intel.com
*/
public class OF10FeaturesReplyMessageFactory implements OFSerializer<GetFeaturesOutput> {
byte[] nameBytes = name.getBytes();
if (nameBytes.length < 16) {
byte[] nameBytesPadding = new byte[16];
- int i = 0;
+ int index = 0;
for (byte b : nameBytes) {
- nameBytesPadding[i] = b;
- i++;
+ nameBytesPadding[index] = b;
+ index++;
}
- for (; i < 16; i++) {
- nameBytesPadding[i] = 0x0;
+ for (; index < 16; index++) {
+ nameBytesPadding[index] = 0x0;
}
outBuffer.writeBytes(nameBytesPadding);
} else {
outBuffer.writeBytes(nameBytes);
}
-
}
}
package org.opendaylight.openflowjava.protocol.impl.serialization.factories;
import io.netty.buffer.ByteBuf;
-
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistryInjector;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.FlowModInput;
/**
- * Translates FlowMod messages
+ * Translates FlowMod messages.
+ *
* @author michal.polkorab
*/
public class OF10FlowModInputMessageFactory implements OFSerializer<FlowModInput>, SerializerRegistryInjector {
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.FlowRemovedMessage;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates FlowRemoved messages.
*
+ * @author giuseppex.petralia@intel.com
*/
public class OF10FlowRemovedMessageFactory implements OFSerializer<FlowRemovedMessage>, SerializerRegistryInjector {
package org.opendaylight.openflowjava.protocol.impl.serialization.factories;
import io.netty.buffer.ByteBuf;
-
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
+import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.HelloInput;
/**
- * Translates Hello messages
+ * Translates Hello messages.
+ *
* @author michal.polkorab
*/
public class OF10HelloInputMessageFactory implements OFSerializer<HelloInput> {
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.PacketInMessage;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates PacketIn messages.
*
+ * @author giuseppex.petralia@intel.com
*/
public class OF10PacketInMessageFactory implements OFSerializer<PacketInMessage> {
private static final byte MESSAGE_TYPE = 10;
package org.opendaylight.openflowjava.protocol.impl.serialization.factories;
import io.netty.buffer.ByteBuf;
-
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistryInjector;
-import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
-import org.opendaylight.openflowjava.protocol.impl.util.TypeKeyMakerFactory;
import org.opendaylight.openflowjava.protocol.impl.util.ListSerializer;
+import org.opendaylight.openflowjava.protocol.impl.util.TypeKeyMakerFactory;
+import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.PacketOutInput;
/**
- * Translates PacketOut messages
+ * Translates PacketOut messages.
+ *
* @author michal.polkorab
*/
public class OF10PacketOutInputMessageFactory implements OFSerializer<PacketOutInput>, SerializerRegistryInjector {
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.PortModInput;
/**
- * Translates PortMod messages
+ * Translates PortMod messages.
+ *
* @author michal.polkorab
*/
public class OF10PortModInputMessageFactory implements OFSerializer<PortModInput> {
ByteBufUtils.updateOFHeaderLength(outBuffer);
}
- /**
- * @param config
- * @return port config bitmask
- */
private static int createPortConfigBitmask(final PortConfigV10 config) {
return ByteBufUtils.fillBitMask(0,
config.isPortDown(),
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.PortStatusMessage;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates PortStatus messages.
*
+ * @author giuseppex.petralia@intel.com
*/
public class OF10PortStatusMessageFactory implements OFSerializer<PortStatusMessage> {
byte[] nameBytes = name.getBytes();
if (nameBytes.length < 16) {
byte[] nameBytesPadding = new byte[16];
- int i = 0;
+ int index = 0;
for (byte b : nameBytes) {
- nameBytesPadding[i] = b;
- i++;
+ nameBytesPadding[index] = b;
+ index++;
}
- for (; i < 16; i++) {
- nameBytesPadding[i] = 0x0;
+ for (; index < 16; index++) {
+ nameBytesPadding[index] = 0x0;
}
outBuffer.writeBytes(nameBytesPadding);
} else {
package org.opendaylight.openflowjava.protocol.impl.serialization.factories;
import io.netty.buffer.ByteBuf;
-
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
+import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetQueueConfigInput;
/**
- * Translates QueueGetConfigRequest messages
+ * Translates QueueGetConfigRequest messages.
+ *
* @author michal.polkorab
*/
public class OF10QueueGetConfigInputMessageFactory implements OFSerializer<GetQueueConfigInput> {
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.queue.property.header.QueueProperty;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates QueueGetConfigReply messages.
*
+ * @author giuseppex.petralia@intel.com
*/
public class OF10QueueGetConfigReplyMessageFactory implements OFSerializer<GetQueueConfigOutput> {
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table._case.multipart.reply.table.TableStats;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates StatsReply messages.
*
+ * @author giuseppex.petralia@intel.com
*/
public class OF10StatsReplyMessageFactory implements OFSerializer<MultipartReplyMessage>, SerializerRegistryInjector {
outBuffer.writeShort(message.getType().getIntValue());
writeFlags(message.getFlags(), outBuffer);
switch (message.getType()) {
- case OFPMPDESC:
- serializeDescBody(message.getMultipartReplyBody(), outBuffer);
- break;
- case OFPMPFLOW:
- serializeFlowBody(message.getMultipartReplyBody(), outBuffer, message);
- break;
- case OFPMPAGGREGATE:
- serializeAggregateBody(message.getMultipartReplyBody(), outBuffer);
- break;
- case OFPMPTABLE:
- serializeTableBody(message.getMultipartReplyBody(), outBuffer);
- break;
- case OFPMPPORTSTATS:
- serializePortStatsBody(message.getMultipartReplyBody(), outBuffer);
- break;
- case OFPMPQUEUE:
- serializeQueueBody(message.getMultipartReplyBody(), outBuffer);
- break;
- case OFPMPEXPERIMENTER:
- serializeExperimenterBody(message.getMultipartReplyBody(), outBuffer);
- break;
- default:
- break;
+ case OFPMPDESC:
+ serializeDescBody(message.getMultipartReplyBody(), outBuffer);
+ break;
+ case OFPMPFLOW:
+ serializeFlowBody(message.getMultipartReplyBody(), outBuffer, message);
+ break;
+ case OFPMPAGGREGATE:
+ serializeAggregateBody(message.getMultipartReplyBody(), outBuffer);
+ break;
+ case OFPMPTABLE:
+ serializeTableBody(message.getMultipartReplyBody(), outBuffer);
+ break;
+ case OFPMPPORTSTATS:
+ serializePortStatsBody(message.getMultipartReplyBody(), outBuffer);
+ break;
+ case OFPMPQUEUE:
+ serializeQueueBody(message.getMultipartReplyBody(), outBuffer);
+ break;
+ case OFPMPEXPERIMENTER:
+ serializeExperimenterBody(message.getMultipartReplyBody(), outBuffer);
+ break;
+ default:
+ break;
}
ByteBufUtils.updateOFHeaderLength(outBuffer);
}
byte[] nameBytes = toWrite.getBytes();
if (nameBytes.length < 256) {
byte[] nameBytesPadding = new byte[256];
- int i = 0;
+ int index = 0;
for (byte b : nameBytes) {
- nameBytesPadding[i] = b;
- i++;
+ nameBytesPadding[index] = b;
+ index++;
}
- for (; i < 256; i++) {
- nameBytesPadding[i] = 0x0;
+ for (; index < 256; index++) {
+ nameBytesPadding[index] = 0x0;
}
outBuffer.writeBytes(nameBytesPadding);
} else {
byte[] nameBytes = toWrite.getBytes();
if (nameBytes.length < 16) {
byte[] nameBytesPadding = new byte[16];
- int i = 0;
+ int index = 0;
for (byte b : nameBytes) {
- nameBytesPadding[i] = b;
- i++;
+ nameBytesPadding[index] = b;
+ index++;
}
- for (; i < 16; i++) {
- nameBytesPadding[i] = 0x0;
+ for (; index < 16; index++) {
+ nameBytesPadding[index] = 0x0;
}
outBuffer.writeBytes(nameBytesPadding);
} else {
byte[] nameBytes = toWrite.getBytes();
if (nameBytes.length < 32) {
byte[] nameBytesPadding = new byte[32];
- int i = 0;
+ int index = 0;
for (byte b : nameBytes) {
- nameBytesPadding[i] = b;
- i++;
+ nameBytesPadding[index] = b;
+ index++;
}
- for (; i < 32; i++) {
- nameBytesPadding[i] = 0x0;
+ for (; index < 32; index++) {
+ nameBytesPadding[index] = 0x0;
}
outBuffer.writeBytes(nameBytesPadding);
} else {
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.queue._case.MultipartRequestQueue;
/**
- * Translates StatsRequest messages
+ * Translates StatsRequest messages.
+ *
* @author michal.polkorab
*/
public class OF10StatsRequestInputFactory implements OFSerializer<MultipartRequestInput>, SerializerRegistryInjector {
return ByteBufUtils.fillBitMask(0, flags.isOFPMPFREQMORE());
}
- /**
- * @param multipartRequestBody
- * @param output
- */
private void serializeDescBody() {
// The body of MultiPartRequestDesc is empty
}
- /**
- * @param multipartRequestBody
- * @param out
- */
private void serializeTableBody() {
// The body of MultiPartTable is empty
}
public void injectSerializerRegistry(final SerializerRegistry serializerRegistry) {
this.registry = serializerRegistry;
}
-}
\ No newline at end of file
+}
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.PacketInMessage;
/**
- * Translates PacketIn messages
+ * Translates PacketIn messages.
*/
public class PacketInMessageFactory implements OFSerializer<PacketInMessage>, SerializerRegistryInjector {
private static final byte PADDING = 2;
outBuffer.writeByte(message.getReason().getIntValue());
outBuffer.writeByte(message.getTableId().getValue().byteValue());
outBuffer.writeLong(message.getCookie().longValue());
- OFSerializer<Match> matchSerializer = registry
- .<Match, OFSerializer<Match>> getSerializer(new MessageTypeKey<>(message.getVersion(), Match.class));
+ OFSerializer<Match> matchSerializer = registry.<Match, OFSerializer<Match>>getSerializer(
+ new MessageTypeKey<>(message.getVersion(), Match.class));
matchSerializer.serialize(message.getMatch(), outBuffer);
outBuffer.writeZero(PADDING);
this.registry = serializerRegistry;
}
-}
\ No newline at end of file
+}
package org.opendaylight.openflowjava.protocol.impl.serialization.factories;
import io.netty.buffer.ByteBuf;
-
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistryInjector;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.PacketOutInput;
/**
- * Translates PacketOut messages
+ * Translates PacketOut messages.
+ *
* @author michal.polkorab
* @author timotej.kubas
*/
public class PacketOutInputMessageFactory implements OFSerializer<PacketOutInput>, SerializerRegistryInjector {
- /** Code type of PacketOut message */
+ /** Code type of PacketOut message. */
private static final byte MESSAGE_TYPE = 13;
private static final byte PADDING_IN_PACKET_OUT_MESSAGE = 6;
private SerializerRegistry registry;
ByteBufUtils.writeOFHeader(MESSAGE_TYPE, message, outBuffer, EncodeConstants.EMPTY_LENGTH);
outBuffer.writeInt(message.getBufferId().intValue());
outBuffer.writeInt(message.getInPort().getValue().intValue());
- int actionsLengthIndex = outBuffer.writerIndex();
+ final int actionsLengthIndex = outBuffer.writerIndex();
outBuffer.writeShort(EncodeConstants.EMPTY_LENGTH);
outBuffer.writeZero(PADDING_IN_PACKET_OUT_MESSAGE);
int actionsStartIndex = outBuffer.writerIndex();
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.PortMod;
/**
- * Translates PortMod messages.
- * OF protocol versions: 1.3.
+ * Translates PortMod messages. OF protocol versions: 1.3.
+ *
* @author timotej.kubas
* @author michal.polkorab
*/
@Override
public void serialize(final PortMod message, final ByteBuf outBuffer) {
- int index = outBuffer.writerIndex();
+ final int index = outBuffer.writerIndex();
ByteBufUtils.writeOFHeader(MESSAGE_TYPE, message, outBuffer, EncodeConstants.EMPTY_LENGTH);
outBuffer.writeInt(message.getPortNo().getValue().intValue());
outBuffer.writeZero(PADDING_IN_PORT_MOD_MESSAGE_01);
ByteBufUtils.updateOFHeaderLength(outBuffer, index);
}
- /**
- * @param config
- * @return port config bitmask
- */
private static int createPortConfigBitmask(final PortConfig config) {
- int configBitmask = 0;
Map<Integer, Boolean> portConfigMap = new HashMap<>();
portConfigMap.put(0, config.isPortDown());
portConfigMap.put(2, config.isNoRecv());
portConfigMap.put(5, config.isNoFwd());
portConfigMap.put(6, config.isNoPacketIn());
- configBitmask = ByteBufUtils.fillBitMaskFromMap(portConfigMap);
- return configBitmask;
+ return ByteBufUtils.fillBitMaskFromMap(portConfigMap);
}
private static int createPortFeaturesBitmask(final PortFeatures feature) {
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.PortStatusMessage;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates PortStatus messages.
*
+ * @author giuseppex.petralia@intel.com
*/
public class PortStatusMessageFactory implements OFSerializer<PortStatusMessage> {
byte[] nameBytes = name.getBytes();
if (nameBytes.length < 16) {
byte[] nameBytesPadding = new byte[16];
- int i = 0;
+ int index = 0;
for (byte b : nameBytes) {
- nameBytesPadding[i] = b;
- i++;
+ nameBytesPadding[index] = b;
+ index++;
}
- for (; i < 16; i++) {
- nameBytesPadding[i] = 0x0;
+ for (; index < 16; index++) {
+ nameBytesPadding[index] = 0x0;
}
outBuffer.writeBytes(nameBytesPadding);
} else {
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.queue.property.header.QueueProperty;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates GetQueueConfig messages.
*
+ * @author giuseppex.petralia@intel.com
*/
public class QueueGetConfigReplyMessageFactory implements OFSerializer<GetQueueConfigOutput> {
propertyBuff.writeShort(EncodeConstants.EMPTY_LENGTH);
propertyBuff.writeZero(PROPERTY_HEADER_PADDING);
switch (property.getProperty()) {
- case OFPQTMINRATE:
- serializeRateBody(property.getAugmentation(RateQueueProperty.class), propertyBuff);
- break;
- case OFPQTMAXRATE:
- serializeRateBody(property.getAugmentation(RateQueueProperty.class), propertyBuff);
- break;
- case OFPQTEXPERIMENTER:
- serializeExperimenterBody(property.getAugmentation(ExperimenterIdQueueProperty.class),
- propertyBuff);
- break;
- default:
- break;
+ case OFPQTMINRATE:
+ serializeRateBody(property.getAugmentation(RateQueueProperty.class), propertyBuff);
+ break;
+ case OFPQTMAXRATE:
+ serializeRateBody(property.getAugmentation(RateQueueProperty.class), propertyBuff);
+ break;
+ case OFPQTEXPERIMENTER:
+ serializeExperimenterBody(property.getAugmentation(ExperimenterIdQueueProperty.class),
+ propertyBuff);
+ break;
+ default:
+ break;
}
propertyBuff.setShort(PROPERTY_LENGTH_INDEX, propertyBuff.readableBytes());
queueBuff.writeBytes(propertyBuff);
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.RoleRequestOutput;
/**
- * @author giuseppex.petralia@intel.com
+ * Translates RoleReply messages.
*
+ * @author giuseppex.petralia@intel.com
*/
public class RoleReplyMessageFactory implements OFSerializer<RoleRequestOutput> {
private static final byte MESSAGE_TYPE = 25;
outBuffer.writeLong(message.getGenerationId().longValue());
ByteBufUtils.updateOFHeaderLength(outBuffer);
}
-
}
package org.opendaylight.openflowjava.protocol.impl.serialization.factories;
import io.netty.buffer.ByteBuf;
-
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
+import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.RoleRequestInput;
/**
- * Translates RoleRequest messages
+ * Translates RoleRequest messages.
+ *
* @author michal.polkorab
* @author timotej.kubas
*/
public class RoleRequestInputMessageFactory implements OFSerializer<RoleRequestInput> {
- /** Code type of RoleRequest message */
+ /** Code type of RoleRequest message. */
private static final byte MESSAGE_TYPE = 24;
private static final byte PADDING_IN_ROLE_REQUEST_MESSAGE = 4;
outBuffer.writeLong(message.getGenerationId().longValue());
ByteBufUtils.updateOFHeaderLength(outBuffer);
}
-
-}
\ No newline at end of file
+}
package org.opendaylight.openflowjava.protocol.impl.serialization.factories;
import io.netty.buffer.ByteBuf;
-
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
+import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.FlowRemovedReason;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PacketInReason;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortReason;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.async.body.grouping.PortStatusMask;
/**
- * Translates SetAsync messages
+ * Translates SetAsync messages.
+ *
* @author timotej.kubas
* @author michal.polkorab
*/
}
}
}
-
-}
\ No newline at end of file
+}
package org.opendaylight.openflowjava.protocol.impl.serialization.factories;
import io.netty.buffer.ByteBuf;
-
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
+import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.SetConfigInput;
/**
- * Translates SetConfig messages (both OpenFlow v1.0 and OpenFlow v1.3)
+ * Translates SetConfig messages (both OpenFlow v1.0 and OpenFlow v1.3).
+ *
* @author michal.polkorab
* @author timotej.kubas
*/
public class SetConfigMessageFactory implements OFSerializer<SetConfigInput> {
- /** Code type of SetConfig message */
+ /** Code type of SetConfig message. */
private static final byte MESSAGE_TYPE = 9;
@Override
outBuffer.writeShort(message.getMissSendLen());
ByteBufUtils.updateOFHeaderLength(outBuffer);
}
-
}
package org.opendaylight.openflowjava.protocol.impl.serialization.factories;
import io.netty.buffer.ByteBuf;
-
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
-import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
+import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.TableConfig;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.TableModInput;
/**
- * Translates TableMod messages
+ * Translates TableMod messages.
+ *
* @author timotej.kubas
* @author michal.polkorab
*/
ByteBufUtils.updateOFHeaderLength(outBuffer);
}
- /**
- * @param tableConfig
- * @return port config bitmask
- */
private static int createConfigBitmask(final TableConfig tableConfig) {
return ByteBufUtils.fillBitMask(3, tableConfig.isOFPTCDEPRECATEDMASK());
}
-
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.experimenter.core.ExperimenterDataOfChoice;
/**
- * Translates Vendor messages (OF-1.0 limited version - skipping experimenter type)
+ * Translates Vendor messages (OF-1.0 limited version - skipping experimenter type).
+ *
* @author michal.polkorab
*/
public class VendorInputMessageFactory implements OFSerializer<ExperimenterOfMessage>,
public void injectSerializerRegistry(SerializerRegistry serializerRegistry) {
this.registry = serializerRegistry;
}
-}
\ No newline at end of file
+}