int type = rawMessage.readUnsignedShort();
builder.setType(MultipartType.forValue(type));
builder.setFlags(new MultipartRequestFlags((rawMessage.readUnsignedShort() & 0x01) != 0));
- switch (type) {
- case 0: builder.setMultipartReplyBody(setDesc(rawMessage));
+ switch (MultipartType.forValue(type)) {
+ case OFPMPDESC: builder.setMultipartReplyBody(setDesc(rawMessage));
break;
- case 1: builder.setMultipartReplyBody(setFlow(rawMessage));
+ case OFPMPFLOW: builder.setMultipartReplyBody(setFlow(rawMessage));
break;
- case 2: builder.setMultipartReplyBody(setAggregate(rawMessage));
+ case OFPMPAGGREGATE: builder.setMultipartReplyBody(setAggregate(rawMessage));
break;
- case 3: builder.setMultipartReplyBody(setTable(rawMessage));
- break;
- case 4: builder.setMultipartReplyBody(setPortStats(rawMessage));
+ case OFPMPTABLE: builder.setMultipartReplyBody(setTable(rawMessage));
break;
- case 5: builder.setMultipartReplyBody(setQueue(rawMessage));
- break;
- case 0xFFFF: builder.setMultipartReplyBody(setExperimenter(rawMessage));
+ case OFPMPPORTSTATS: builder.setMultipartReplyBody(setPortStats(rawMessage));
break;
- default:
+ case OFPMPQUEUE: builder.setMultipartReplyBody(setQueue(rawMessage));
+ break;
+ case OFPMPEXPERIMENTER: builder.setMultipartReplyBody(setExperimenter(rawMessage));
+ break;
+ default:
break;
}
return builder.build();
}
-
+
private static MultipartReplyDescCase setDesc(ByteBuf input) {
MultipartReplyDescCaseBuilder caseBuilder = new MultipartReplyDescCaseBuilder();
MultipartReplyDescBuilder descBuilder = new MultipartReplyDescBuilder();
caseBuilder.setMultipartReplyDesc(descBuilder.build());
return caseBuilder.build();
}
-
+
private MultipartReplyFlowCase setFlow(ByteBuf input) {
MultipartReplyFlowCaseBuilder caseBuilder = new MultipartReplyFlowCaseBuilder();
MultipartReplyFlowBuilder flowBuilder = new MultipartReplyFlowBuilder();
caseBuilder.setMultipartReplyFlow(flowBuilder.build());
return caseBuilder.build();
}
-
+
private static MultipartReplyAggregateCase setAggregate(ByteBuf input) {
MultipartReplyAggregateCaseBuilder caseBuilder = new MultipartReplyAggregateCaseBuilder();
MultipartReplyAggregateBuilder builder = new MultipartReplyAggregateBuilder();
caseBuilder.setMultipartReplyAggregate(builder.build());
return caseBuilder.build();
}
-
+
private static MultipartReplyTableCase setTable(ByteBuf input) {
MultipartReplyTableCaseBuilder caseBuilder = new MultipartReplyTableCaseBuilder();
MultipartReplyTableBuilder builder = new MultipartReplyTableBuilder();
caseBuilder.setMultipartReplyTable(builder.build());
return caseBuilder.build();
}
-
+
private static MultipartReplyPortStatsCase setPortStats(ByteBuf input) {
MultipartReplyPortStatsCaseBuilder caseBuilder = new MultipartReplyPortStatsCaseBuilder();
MultipartReplyPortStatsBuilder builder = new MultipartReplyPortStatsBuilder();
caseBuilder.setMultipartReplyPortStats(builder.build());
return caseBuilder.build();
}
-
+
private static MultipartReplyQueueCase setQueue(ByteBuf input) {
MultipartReplyQueueCaseBuilder caseBuilder = new MultipartReplyQueueCaseBuilder();
MultipartReplyQueueBuilder builder = new MultipartReplyQueueBuilder();
caseBuilder.setMultipartReplyQueue(builder.build());
return caseBuilder.build();
}
-
+
private MultipartReplyExperimenterCase setExperimenter(ByteBuf input) {
return registry.getDeserializer(ExperimenterDeserializerKeyFactory.createMultipartReplyMessageDeserializerKey(
EncodeConstants.OF10_VERSION_ID, input.readUnsignedInt()));