use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.NoPathVectorTlv in project bgpcep by opendaylight.
the class PCEPTlvParserTest method testNoPathVectorTlv.
@Test
public void testNoPathVectorTlv() throws PCEPDeserializerException {
final NoPathVectorTlvParser parser = new NoPathVectorTlvParser();
final NoPathVectorTlv tlv = new NoPathVectorBuilder().setFlags(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.NoPathVectorTlv.Flags(false, true, false, true, false, true, true, true)).build();
assertEquals(tlv, parser.parseTlv(Unpooled.wrappedBuffer(ByteArray.cutBytes(NO_PATH_VECTOR_BYTES, 4))));
final ByteBuf buff = Unpooled.buffer();
parser.serializeTlv(tlv, buff);
assertArrayEquals(NO_PATH_VECTOR_BYTES, ByteArray.getAllBytes(buff));
assertNull(parser.parseTlv(null));
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.NoPathVectorTlv in project bgpcep by opendaylight.
the class NoPathVectorTlvParser method serializeTlv.
@Override
public void serializeTlv(final Tlv tlv, final ByteBuf buffer) {
Preconditions.checkArgument(tlv instanceof NoPathVector, "NoPathVectorTlv is mandatory.");
final NoPathVector noPath = (NoPathVector) tlv;
final ByteBuf body = Unpooled.buffer();
final BitArray flags = new BitArray(FLAGS_SIZE);
final Flags f = noPath.getFlags();
flags.set(REACHABLITY_PROBLEM, f.getP2mpUnreachable());
flags.set(NO_GCO_SOLUTION, f.getNoGcoSolution());
flags.set(NO_GCO_MIGRATION_PATH, f.getNoGcoMigration());
flags.set(PATH_KEY, f.getPathKey());
flags.set(CHAIN_UNAVAILABLE, f.getChainUnavailable());
flags.set(UNKNOWN_SRC, f.getUnknownSource());
flags.set(UNKNOWN_DEST, f.getUnknownDestination());
flags.set(PCE_UNAVAILABLE, f.getPceUnavailable());
flags.toByteBuf(body);
TlvUtil.formatTlv(TYPE, body, buffer);
}
Aggregations