use of org.opendaylight.protocol.pcep.parser.message.PCEPMonitoringRequestMessageParser in project bgpcep by opendaylight.
the class BaseParserExtensionActivator method startImpl.
@Override
protected List<AutoCloseable> startImpl(final PCEPExtensionProviderContext context) {
final List<AutoCloseable> regs = new ArrayList<>();
registerLabelParsers(regs, context);
final LabelRegistry labelReg = context.getLabelHandlerRegistry();
registerEROParsers(regs, context, labelReg);
registerRROParsers(regs, context, labelReg);
registerXROParsers(regs, context);
registerTlvParsers(regs, context);
registerObjectParsers(regs, context);
final ObjectRegistry objReg = context.getObjectHandlerRegistry();
final PCEPOpenMessageParser openParser = new PCEPOpenMessageParser(objReg);
regs.add(context.registerMessageParser(PCEPOpenMessageParser.TYPE, openParser));
regs.add(context.registerMessageSerializer(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.message.rev131007.Open.class, openParser));
final PCEPKeepAliveMessageParser kaParser = new PCEPKeepAliveMessageParser(objReg);
regs.add(context.registerMessageParser(PCEPKeepAliveMessageParser.TYPE, kaParser));
regs.add(context.registerMessageSerializer(Keepalive.class, kaParser));
final PCEPRequestMessageParser reqParser = new PCEPRequestMessageParser(objReg);
regs.add(context.registerMessageParser(PCEPRequestMessageParser.TYPE, reqParser));
regs.add(context.registerMessageSerializer(Pcreq.class, reqParser));
final PCEPReplyMessageParser repParser = new PCEPReplyMessageParser(objReg);
regs.add(context.registerMessageParser(PCEPReplyMessageParser.TYPE, repParser));
regs.add(context.registerMessageSerializer(Pcrep.class, repParser));
final PCEPNotificationMessageParser notParser = new PCEPNotificationMessageParser(objReg);
regs.add(context.registerMessageParser(PCEPNotificationMessageParser.TYPE, notParser));
regs.add(context.registerMessageSerializer(Pcntf.class, notParser));
final PCEPErrorMessageParser errParser = new PCEPErrorMessageParser(objReg);
regs.add(context.registerMessageParser(PCEPErrorMessageParser.TYPE, errParser));
regs.add(context.registerMessageSerializer(Pcerr.class, errParser));
final PCEPCloseMessageParser closeParser = new PCEPCloseMessageParser(objReg);
regs.add(context.registerMessageParser(PCEPCloseMessageParser.TYPE, closeParser));
regs.add(context.registerMessageSerializer(Close.class, closeParser));
final PCEPMonitoringReplyMessageParser monRepParser = new PCEPMonitoringReplyMessageParser(objReg);
regs.add(context.registerMessageParser(PCEPMonitoringReplyMessageParser.TYPE, monRepParser));
regs.add(context.registerMessageSerializer(Pcmonrep.class, monRepParser));
final PCEPMonitoringRequestMessageParser monReqParser = new PCEPMonitoringRequestMessageParser(objReg);
regs.add(context.registerMessageParser(PCEPMonitoringRequestMessageParser.TYPE, monReqParser));
regs.add(context.registerMessageSerializer(Pcmonreq.class, monReqParser));
final PCEPStartTLSMessageParser startTLSParser = new PCEPStartTLSMessageParser(objReg);
regs.add(context.registerMessageParser(PCEPStartTLSMessageParser.TYPE, startTLSParser));
regs.add(context.registerMessageSerializer(Starttls.class, startTLSParser));
return regs;
}
use of org.opendaylight.protocol.pcep.parser.message.PCEPMonitoringRequestMessageParser in project bgpcep by opendaylight.
the class PCEPValidatorTest method testMonReqMsg.
@Test
public void testMonReqMsg() throws PCEPDeserializerException, IOException {
final PCEPMonitoringRequestMessageParser parser = new PCEPMonitoringRequestMessageParser(this.objectRegistry);
final PcreqMessageBuilder builder = new PcreqMessageBuilder();
final MonitoringRequestBuilder monReqBuilder = new MonitoringRequestBuilder();
monReqBuilder.setMonitoring(this.monitoring);
monReqBuilder.setPceIdList(Lists.newArrayList(new PceIdListBuilder().setPceId(this.pceId).build()));
builder.setMonitoringRequest(monReqBuilder.build());
final byte[] msgBytes = { 0x20, 0x08, 0x00, 0x18, /* monitoring object */
0x13, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, /* pce-id object */
0x19, 0x10, 0x00, 0x08, 0x7f, 0x00, 0x00, 0x02 };
ByteBuf result = Unpooled.wrappedBuffer(msgBytes);
assertEquals(new PcmonreqBuilder().setPcreqMessage(builder.build()).build(), parser.parseMessage(result.slice(4, result.readableBytes() - 4), Collections.emptyList()));
ByteBuf buf = Unpooled.buffer(result.readableBytes());
parser.serializeMessage(new PcmonreqBuilder().setPcreqMessage(builder.build()).build(), buf);
assertArrayEquals(result.array(), buf.array());
result = Unpooled.wrappedBuffer(ByteArray.fileToBytes("src/test/resources/PCMonReq.bin"));
final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcreq.message.pcreq.message.Requests> reqs2 = Lists.newArrayList();
final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcreq.message.pcreq.message.RequestsBuilder rBuilder1 = new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcreq.message.pcreq.message.RequestsBuilder();
rBuilder1.setRp(this.rpTrue);
final P2pBuilder p2pBuilder = new P2pBuilder();
p2pBuilder.setEndpointsObj(this.endpoints);
p2pBuilder.setMetrics(Lists.newArrayList(this.metrics));
p2pBuilder.setIro(this.iro);
rBuilder1.setSegmentComputation(new SegmentComputationBuilder().setP2p(p2pBuilder.build()).build());
reqs2.add(rBuilder1.build());
builder.setRequests(reqs2);
builder.setSvec(Lists.newArrayList(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcreq.message.pcreq.message.SvecBuilder().setSvec(this.svec).build()));
monReqBuilder.setMonitoring(this.monitoring);
monReqBuilder.setPccIdReq(this.pccIdReq);
final PceIdList pceIdList = new PceIdListBuilder().setPceId(this.pceId).build();
monReqBuilder.setPceIdList(Lists.newArrayList(pceIdList, pceIdList));
builder.setMonitoringRequest(monReqBuilder.build());
assertEquals(new PcmonreqBuilder().setPcreqMessage(builder.build()).build(), parser.parseMessage(result.slice(4, result.readableBytes() - 4), Collections.emptyList()));
buf = Unpooled.buffer(result.readableBytes());
parser.serializeMessage(new PcmonreqBuilder().setPcreqMessage(builder.build()).build(), buf);
assertArrayEquals(result.array(), buf.array());
}
Aggregations