/*
* flags offsets inside flags field in bits
*/
+ private static final int P_FLAG_OFFSET = 19;
+ private static final int D_FLAG_OFFSET = 20;
private static final int S_FLAG_OFFSET = 21;
private static final int N_FLAG_OFFSET = 22;
private static final int L_FLAG_OFFSET = 23;
@Override
public Svec parseObject(final ObjectHeader header, final ByteBuf bytes) throws PCEPDeserializerException {
- Preconditions.checkArgument(bytes != null && bytes.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
+ Preconditions.checkArgument(bytes != null && bytes.isReadable(),
+ "Array of bytes is mandatory. Can't be null or empty.");
if (bytes.readableBytes() < MIN_SIZE) {
- throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: " + bytes.readableBytes() + "; Expected: >="
- + MIN_SIZE + ".");
+ throw new PCEPDeserializerException("Wrong length of array of bytes. Passed: "
+ + bytes.readableBytes() + "; Expected: >=" + MIN_SIZE + ".");
}
bytes.skipBytes(FLAGS_F_OFFSET);
final BitArray flags = BitArray.valueOf(bytes, FLAGS_SIZE);
builder.setLinkDiverse(flags.get(L_FLAG_OFFSET));
builder.setNodeDiverse(flags.get(N_FLAG_OFFSET));
builder.setSrlgDiverse(flags.get(S_FLAG_OFFSET));
+ builder.setLinkDirectionDiverse(flags.get(D_FLAG_OFFSET));
+ builder.setPartialPathDiverse(flags.get(P_FLAG_OFFSET));
builder.setRequestsIds(requestIDs);
return builder.build();
}
@Override
public void serializeObject(final Object object, final ByteBuf buffer) {
- Preconditions.checkArgument(object instanceof Svec, "Wrong instance of PCEPObject. Passed %s. Needed SvecObject.", object.getClass());
+ Preconditions.checkArgument(object instanceof Svec,
+ "Wrong instance of PCEPObject. Passed %s. Needed SvecObject.", object.getClass());
final Svec svecObj = (Svec) object;
final ByteBuf body = Unpooled.buffer();
body.writeZero(FLAGS_F_OFFSET);
flags.set(L_FLAG_OFFSET, svecObj.isLinkDiverse());
flags.set(N_FLAG_OFFSET, svecObj.isNodeDiverse());
flags.set(S_FLAG_OFFSET, svecObj.isSrlgDiverse());
+ flags.set(D_FLAG_OFFSET, svecObj.isLinkDirectionDiverse());
+ flags.set(P_FLAG_OFFSET, svecObj.isPartialPathDiverse());
flags.toByteBuf(body);
final List<RequestId> requestIDs = svecObj.getRequestsIds();
assert !(requestIDs.isEmpty()) : "Empty Svec Object - no request ids.";
- for(final RequestId requestId : requestIDs) {
+ for (final RequestId requestId : requestIDs) {
writeUnsignedInt(requestId.getValue(), body);
}
ObjectUtil.formatSubobject(TYPE, CLASS, object.isProcessingRule(), object.isIgnore(), body, buffer);
builder.setDeadTimer((short) 120);
builder.setSessionId((short) 1);
- builder.setTlvs(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.open.object.open.TlvsBuilder().build());
+ builder.setTlvs(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.open
+ .object.open.TlvsBuilder().build());
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false), result.slice(4, result.readableBytes() - 4)));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false),
+ result.slice(4, result.readableBytes() - 4)));
final ByteBuf buf = Unpooled.buffer();
parser.serializeObject(builder.build(), buf);
assertArrayEquals(result.array(), ByteArray.getAllBytes(buf));
builder.setProcessingRule(false);
builder.setIgnore(false);
builder.setReason((short) 5);
- builder.setTlvs(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.close.object.c.close.TlvsBuilder().build());
+ builder.setTlvs(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.close
+ .object.c.close.TlvsBuilder().build());
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false), result.slice(4, result.readableBytes() - 4)));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false),
+ result.slice(4, result.readableBytes() - 4)));
final ByteBuf buf = Unpooled.buffer();
parser.serializeObject(builder.build(), buf);
assertArrayEquals(result.array(), ByteArray.getAllBytes(buf));
builder.setLinkDiverse(false);
builder.setNodeDiverse(false);
builder.setSrlgDiverse(false);
+ builder.setPartialPathDiverse(false);
+ builder.setLinkDirectionDiverse(false);
builder.setRequestsIds(Lists.newArrayList(new RequestId(0xFFL)));
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false), result.slice(4, result.readableBytes() - 4)));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false),
+ result.slice(4, result.readableBytes() - 4)));
ByteBuf buf = Unpooled.buffer();
parser.serializeObject(builder.build(), buf);
assertArrayEquals(result.array(), ByteArray.getAllBytes(buf));
builder.setRequestsIds(requestIDs);
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, false), result.slice(4, result.readableBytes() - 4)));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, false),
+ result.slice(4, result.readableBytes() - 4)));
buf = Unpooled.buffer();
parser.serializeObject(builder.build(), buf);
assertArrayEquals(result.array(), ByteArray.getAllBytes(buf));
0x7f, 0x00, 0x00, 0x01
};
final PCEPPceIdIPv4ObjectParser parser = new PCEPPceIdIPv4ObjectParser();
- final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pce.id.object.PceId pceId = new PceIdBuilder().setIpAddress(new IpAddressNoZone(
+ final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pce.id.object
+ .PceId pceId = new PceIdBuilder().setIpAddress(new IpAddressNoZone(
new Ipv4AddressNoZone("127.0.0.1"))).build();
final ByteBuf result = Unpooled.wrappedBuffer(pccIdReqBytes);
- assertEquals(pceId, parser.parseObject(new ObjectHeaderImpl(false, false), result.slice(4, result.readableBytes() - 4)));
+ assertEquals(pceId, parser.parseObject(new ObjectHeaderImpl(false, false),
+ result.slice(4, result.readableBytes() - 4)));
final ByteBuf buf = Unpooled.buffer(pccIdReqBytes.length);
parser.serializeObject(pceId, buf);
0x00, 0x00, 0x00, 0x01
};
final PCEPPceIdIPv6ObjectParser parser = new PCEPPceIdIPv6ObjectParser();
- final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pce.id.object.PceId pccIdReq = new PceIdBuilder().setIpAddress(new IpAddressNoZone(
+ final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pce.id.object
+ .PceId pccIdReq = new PceIdBuilder().setIpAddress(new IpAddressNoZone(
new Ipv6AddressNoZone("::1"))).build();
final ByteBuf result = Unpooled.wrappedBuffer(pccIdReqBytes);
- assertEquals(pccIdReq, parser.parseObject(new ObjectHeaderImpl(false, false), result.slice(4, result.readableBytes() - 4)));
+ assertEquals(pccIdReq, parser.parseObject(new ObjectHeaderImpl(false, false),
+ result.slice(4, result.readableBytes() - 4)));
final ByteBuf buf = Unpooled.buffer(pccIdReqBytes.length);
parser.serializeObject(pccIdReq, buf);
final PCEPOverloadObjectParser parser = new PCEPOverloadObjectParser();
final Overload overload = new OverloadBuilder().setDuration(120).build();
final ByteBuf result = Unpooled.wrappedBuffer(overloadBytes);
- assertEquals(overload, parser.parseObject(new ObjectHeaderImpl(false, false), result.slice(4, result.readableBytes() - 4)));
+ assertEquals(overload, parser.parseObject(new ObjectHeaderImpl(false, false),
+ result.slice(4, result.readableBytes() - 4)));
final ByteBuf buf = Unpooled.buffer(overloadBytes.length);
parser.serializeObject(overload, buf);
/* pst-tlv */
0x0, 0x1C, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0 };
- final PCEPRequestParameterObjectParser parser = new PCEPRequestParameterObjectParser(this.tlvRegistry, this.viTlvRegistry);
+ final PCEPRequestParameterObjectParser parser
+ = new PCEPRequestParameterObjectParser(this.tlvRegistry, this.viTlvRegistry);
final RpBuilder builder = new RpBuilder();
builder.setProcessingRule(false);
builder.setIgnore(false);
builder.setEroCompression(false);
builder.setPriority((short) 5);
builder.setRequestId(new RequestId(0xdeadbeefL));
- builder.setTlvs(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.rp.object.rp.TlvsBuilder().setPathSetupType(
- new PathSetupTypeBuilder().setPst((short) 0).build()).build());
+ builder.setTlvs(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.rp
+ .object.rp.TlvsBuilder().setPathSetupType(new PathSetupTypeBuilder().setPst((short) 0).build()).build());
final ByteBuf result = Unpooled.wrappedBuffer(rpObjectWithPstTlvBytes);
- assertEquals(builder.build(),
- parser.parseObject(new ObjectHeaderImpl(false, false), result.slice(4, result.readableBytes() - 4)));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false),
+ result.slice(4, result.readableBytes() - 4)));
final ByteBuf buf = Unpooled.buffer();
parser.serializeObject(builder.build(), buf);
assertArrayEquals(rpObjectWithPstTlvBytes, ByteArray.getAllBytes(buf));