use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.message.rev200120.peer.down.data.FsmEventCodeBuilder in project bgpcep by opendaylight.
the class PeerDownHandler method parseMessageBody.
@Override
public Notification parseMessageBody(final ByteBuf bytes) throws BmpDeserializationException {
final PeerDownNotificationBuilder peerDown = new PeerDownNotificationBuilder().setPeerHeader(parsePerPeerHeader(bytes));
final Reason reason = Reason.forValue(bytes.readUnsignedByte());
if (reason != null) {
switch(reason) {
case REASON_ONE:
peerDown.setLocalSystemClosed(Boolean.TRUE);
peerDown.setData(parseBgpNotificationMessage(bytes));
break;
case REASON_TWO:
peerDown.setLocalSystemClosed(Boolean.TRUE);
peerDown.setData(new FsmEventCodeBuilder().setFsmEventCode(ByteBufUtils.readUint16(bytes)).build());
break;
case REASON_THREE:
case REASON_FOUR:
peerDown.setLocalSystemClosed(Boolean.FALSE);
peerDown.setData(parseBgpNotificationMessage(bytes));
break;
case REASON_FIVE:
peerDown.setLocalSystemClosed(Boolean.FALSE);
break;
default:
break;
}
}
return peerDown.build();
}
Aggregations