コード例 #1
0
 @Override
 public void reportToAll(final Updates update, final PccSession session) {
   final PlspId plspId = update.getLsp().getPlspId();
   final Tunnel tunnel = this.tunnels.get(plspId);
   final long srpId = update.getSrp().getOperationId().getValue();
   if (tunnel != null) {
     if (hasDelegation(tunnel, session)) {
       final Srp srp = createSrp(update.getSrp().getOperationId().getValue());
       final Path path = updToRptPath(update.getPath());
       final List<Subobject> subobjects = update.getPath().getEro().getSubobject();
       final Lsp lsp = update.getLsp();
       sendToAll(tunnel, plspId, subobjects, srp, path, lsp);
       // update tunnel state
       tunnel.setLspState(path);
     } else {
       session.sendError(MsgBuilderUtil.createErrorMsg(PCEPErrors.UPDATE_REQ_FOR_NON_LSP, srpId));
     }
   } else {
     session.sendError(MsgBuilderUtil.createErrorMsg(PCEPErrors.UNKNOWN_PLSP_ID, srpId));
   }
 }