private static State insertObject(final State state, final List<Errors> errorObjects, final Object obj,
final List<Rps> requestParameters, final PcerrMessageBuilder b) {
switch (state) {
- case RP_IN:
- if (obj instanceof Rp) {
- final Rp o = (Rp) obj;
- requestParameters.add(new RpsBuilder().setRp(o).build());
- return State.RP_IN;
- }
- case ERROR_IN:
- if (obj instanceof ErrorObject) {
- final ErrorObject o = (ErrorObject) obj;
- errorObjects.add(new ErrorsBuilder().setErrorObject(o).build());
- return State.ERROR_IN;
- }
- case OPEN:
- if (obj instanceof Open) {
- b.setErrorType(new SessionCaseBuilder().setSession(new SessionBuilder().setOpen((Open) obj).build()).build());
- return State.OPEN_IN;
- }
- case ERROR:
- if (obj instanceof ErrorObject) {
- final ErrorObject o = (ErrorObject) obj;
- errorObjects.add(new ErrorsBuilder().setErrorObject(o).build());
- return State.ERROR;
- }
- case OPEN_IN:
- case END:
- return State.END;
- default:
- return state;
+ case RP_IN:
+ if (obj instanceof Rp) {
+ final Rp o = (Rp) obj;
+ requestParameters.add(new RpsBuilder().setRp(o).build());
+ return State.RP_IN;
+ }
+ case ERROR_IN:
+ if (obj instanceof ErrorObject) {
+ final ErrorObject o = (ErrorObject) obj;
+ errorObjects.add(new ErrorsBuilder().setErrorObject(o).build());
+ return State.ERROR_IN;
+ }
+ case OPEN:
+ if (obj instanceof Open) {
+ b.setErrorType(new SessionCaseBuilder().setSession(new SessionBuilder().setOpen((Open) obj).build()).build());
+ return State.OPEN_IN;
+ }
+ case ERROR:
+ if (obj instanceof ErrorObject) {
+ final ErrorObject o = (ErrorObject) obj;
+ errorObjects.add(new ErrorsBuilder().setErrorObject(o).build());
+ return State.ERROR;
+ }
+ case OPEN_IN:
+ case END:
+ return State.END;
+ default:
+ return state;
}
}
private static State insertObject(final State state, final Object obj, final List<Message> errors, final List<Rps> requestParameters, final List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.pcntf.message.pcntf.message.notifications.Notifications> notifications) {
switch (state) {
- case INIT:
- if (obj instanceof Rp) {
- final Rp rp = (Rp) obj;
- if (rp.isProcessingRule()) {
- errors.add(createErrorMsg(PCEPErrors.P_FLAG_NOT_SET, Optional.empty()));
- return null;
+ case INIT:
+ if (obj instanceof Rp) {
+ final Rp rp = (Rp) obj;
+ if (rp.isProcessingRule()) {
+ errors.add(createErrorMsg(PCEPErrors.P_FLAG_NOT_SET, Optional.empty()));
+ return null;
+ }
+ requestParameters.add(new RpsBuilder().setRp(rp).build());
+ return State.INIT;
}
- requestParameters.add(new RpsBuilder().setRp(rp).build());
- return State.INIT;
- }
- case RP_IN:
- if (obj instanceof CNotification) {
- final CNotification n = (CNotification) obj;
- notifications.add(new NotificationsBuilder().setCNotification(n).build());
- return State.RP_IN;
- }
- case NOTIFICATION_IN:
- case END:
- return State.END;
- default:
- return state;
+ case RP_IN:
+ if (obj instanceof CNotification) {
+ final CNotification n = (CNotification) obj;
+ notifications.add(new NotificationsBuilder().setCNotification(n).build());
+ return State.RP_IN;
+ }
+ case NOTIFICATION_IN:
+ case END:
+ return State.END;
+ default:
+ return state;
}
}
private static State insertObject(final State state, final Object obj, final FailureCaseBuilder builder,
final List<Metrics> pathMetrics) {
switch (state) {
- case INIT:
- if (obj instanceof Lspa) {
- builder.setLspa((Lspa) obj);
- return State.LSPA_IN;
- }
- case LSPA_IN:
- if (obj instanceof Bandwidth) {
- builder.setBandwidth((Bandwidth) obj);
- return State.BANDWIDTH_IN;
- }
- case BANDWIDTH_IN:
- if (obj instanceof Metric) {
- pathMetrics.add(new MetricsBuilder().setMetric((Metric) obj).build());
- return State.BANDWIDTH_IN;
- }
- case METRIC_IN:
- if (obj instanceof Iro) {
- builder.setIro((Iro) obj);
- return State.IRO_IN;
- }
- case IRO_IN:
- case END:
- return State.END;
- default:
- return state;
+ case INIT:
+ if (obj instanceof Lspa) {
+ builder.setLspa((Lspa) obj);
+ return State.LSPA_IN;
+ }
+ case LSPA_IN:
+ if (obj instanceof Bandwidth) {
+ builder.setBandwidth((Bandwidth) obj);
+ return State.BANDWIDTH_IN;
+ }
+ case BANDWIDTH_IN:
+ if (obj instanceof Metric) {
+ pathMetrics.add(new MetricsBuilder().setMetric((Metric) obj).build());
+ return State.BANDWIDTH_IN;
+ }
+ case METRIC_IN:
+ if (obj instanceof Iro) {
+ builder.setIro((Iro) obj);
+ return State.IRO_IN;
+ }
+ case IRO_IN:
+ case END:
+ return State.END;
+ default:
+ return state;
}
}
private static State insertObject(final State state, final Object obj, final PathsBuilder builder,
final List<Metrics> pathMetrics) {
switch (state) {
- case INIT:
- if (obj instanceof Lspa) {
- builder.setLspa((Lspa) obj);
- return State.LSPA_IN;
- }
- case LSPA_IN:
- if (obj instanceof Of) {
- builder.setOf((Of) obj);
- return State.OF_IN;
- }
- case OF_IN:
- if (obj instanceof Bandwidth) {
- builder.setBandwidth((Bandwidth) obj);
- return State.BANDWIDTH_IN;
- }
- case BANDWIDTH_IN:
- if (obj instanceof Metric) {
- pathMetrics.add(new MetricsBuilder().setMetric((Metric) obj).build());
- return State.BANDWIDTH_IN;
- }
- case METRIC_IN:
- if (obj instanceof Iro) {
- builder.setIro((Iro) obj);
- return State.IRO_IN;
- }
- case IRO_IN:
- case END:
- return State.END;
- default:
- return state;
+ case INIT:
+ if (obj instanceof Lspa) {
+ builder.setLspa((Lspa) obj);
+ return State.LSPA_IN;
+ }
+ case LSPA_IN:
+ if (obj instanceof Of) {
+ builder.setOf((Of) obj);
+ return State.OF_IN;
+ }
+ case OF_IN:
+ if (obj instanceof Bandwidth) {
+ builder.setBandwidth((Bandwidth) obj);
+ return State.BANDWIDTH_IN;
+ }
+ case BANDWIDTH_IN:
+ if (obj instanceof Metric) {
+ pathMetrics.add(new MetricsBuilder().setMetric((Metric) obj).build());
+ return State.BANDWIDTH_IN;
+ }
+ case METRIC_IN:
+ if (obj instanceof Iro) {
+ builder.setIro((Iro) obj);
+ return State.IRO_IN;
+ }
+ case IRO_IN:
+ case END:
+ return State.END;
+ default:
+ return state;
}
}
final Rp rp) {
final Object obj = objects.get(0);
switch (p2PState) {
- case INIT:
- if (obj instanceof Rro) {
- builder.setRro((Rro) obj);
- objects.remove(0);
- final Object nextObj = objects.get(0);
- if (nextObj instanceof org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types
- .rev181109.reoptimization.bandwidth.object.ReoptimizationBandwidth) {
- builder.setReoptimizationBandwidth((org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns
- .yang.pcep.types.rev181109.reoptimization.bandwidth.object
- .ReoptimizationBandwidth) nextObj);
- }
- return P2PState.REPORTED_IN;
- }
- case REPORTED_IN:
- if (obj instanceof VendorInformationObject) {
- viObjects.add((VendorInformationObject) obj);
- return P2PState.REPORTED_IN;
- }
- case VENDOR_INFO_LIST:
- if (obj instanceof LoadBalancing) {
- builder.setLoadBalancing((LoadBalancing) obj);
- return P2PState.LOAD_BIN;
- }
- case LOAD_BIN:
- if (obj instanceof Lspa) {
- builder.setLspa((Lspa) obj);
- return P2PState.LSPA_IN;
- }
- case LSPA_IN:
- if (obj instanceof Bandwidth) {
- builder.setBandwidth((Bandwidth) obj);
- return P2PState.BANDWIDTH_IN;
- }
- case BANDWIDTH_IN:
- if (obj instanceof Metric) {
- metrics.add(new MetricsBuilder().setMetric((Metric) obj).build());
- return P2PState.BANDWIDTH_IN;
- }
- case METRIC_IN:
- if (obj instanceof Iro) {
- builder.setIro((Iro) obj);
- return P2PState.IRO_IN;
- }
- case IRO_IN:
- if (obj instanceof Rro) {
- builder.setRro((Rro) obj);
- return P2PState.RRO_IN;
- }
- case RRO_IN:
- if (obj instanceof Xro) {
- builder.setXro((Xro) obj);
- return P2PState.XRO_IN;
- }
- case XRO_IN:
- if (obj instanceof Of) {
- builder.setOf((Of) obj);
- return P2PState.OF_IN;
- }
- case OF_IN:
- if (obj instanceof ClassType) {
- final ClassType classType = (ClassType) obj;
- if (!classType.isProcessingRule()) {
- errors.add(createErrorMsg(PCEPErrors.P_FLAG_NOT_SET, Optional.of(rp)));
- } else {
- builder.setClassType(classType);
+ case INIT:
+ if (obj instanceof Rro) {
+ builder.setRro((Rro) obj);
+ objects.remove(0);
+ final Object nextObj = objects.get(0);
+ if (nextObj instanceof org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types
+ .rev181109.reoptimization.bandwidth.object.ReoptimizationBandwidth) {
+ builder.setReoptimizationBandwidth((org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns
+ .yang.pcep.types.rev181109.reoptimization.bandwidth.object
+ .ReoptimizationBandwidth) nextObj);
+ }
+ return P2PState.REPORTED_IN;
}
- return P2PState.CT_IN;
- }
- case CT_IN:
- case END:
- return P2PState.END;
- default:
- return p2PState;
+ case REPORTED_IN:
+ if (obj instanceof VendorInformationObject) {
+ viObjects.add((VendorInformationObject) obj);
+ return P2PState.REPORTED_IN;
+ }
+ case VENDOR_INFO_LIST:
+ if (obj instanceof LoadBalancing) {
+ builder.setLoadBalancing((LoadBalancing) obj);
+ return P2PState.LOAD_BIN;
+ }
+ case LOAD_BIN:
+ if (obj instanceof Lspa) {
+ builder.setLspa((Lspa) obj);
+ return P2PState.LSPA_IN;
+ }
+ case LSPA_IN:
+ if (obj instanceof Bandwidth) {
+ builder.setBandwidth((Bandwidth) obj);
+ return P2PState.BANDWIDTH_IN;
+ }
+ case BANDWIDTH_IN:
+ if (obj instanceof Metric) {
+ metrics.add(new MetricsBuilder().setMetric((Metric) obj).build());
+ return P2PState.BANDWIDTH_IN;
+ }
+ case METRIC_IN:
+ if (obj instanceof Iro) {
+ builder.setIro((Iro) obj);
+ return P2PState.IRO_IN;
+ }
+ case IRO_IN:
+ if (obj instanceof Rro) {
+ builder.setRro((Rro) obj);
+ return P2PState.RRO_IN;
+ }
+ case RRO_IN:
+ if (obj instanceof Xro) {
+ builder.setXro((Xro) obj);
+ return P2PState.XRO_IN;
+ }
+ case XRO_IN:
+ if (obj instanceof Of) {
+ builder.setOf((Of) obj);
+ return P2PState.OF_IN;
+ }
+ case OF_IN:
+ if (obj instanceof ClassType) {
+ final ClassType classType = (ClassType) obj;
+ if (!classType.isProcessingRule()) {
+ errors.add(createErrorMsg(PCEPErrors.P_FLAG_NOT_SET, Optional.of(rp)));
+ } else {
+ builder.setClassType(classType);
+ }
+ return P2PState.CT_IN;
+ }
+ case CT_IN:
+ case END:
+ return P2PState.END;
+ default:
+ return p2PState;
}
}
private static SvecState insertP2PObject(final SvecState state, final Object obj, final SvecBuilder builder,
final List<Metrics> metrics, final List<VendorInformationObject> viObjects) {
switch (state) {
- case INIT:
- if (obj instanceof Of) {
- builder.setOf((Of) obj);
- return SvecState.OF_IN;
- }
- case OF_IN:
- if (obj instanceof Gc) {
- builder.setGc((Gc) obj);
- return SvecState.GC_IN;
- }
- case GC_IN:
- if (obj instanceof Xro) {
- builder.setXro((Xro) obj);
- return SvecState.XRO_IN;
- }
- case XRO_IN:
- if (obj instanceof Metric) {
- metrics.add(new MetricsBuilder().setMetric((Metric) obj).build());
- return SvecState.XRO_IN;
- }
- case METRIC_IN:
- if (obj instanceof VendorInformationObject) {
- viObjects.add((VendorInformationObject) obj);
- return SvecState.METRIC_IN;
- }
- case VENDOR_INFO:
- case END:
- return SvecState.END;
- default:
- return state;
+ case INIT:
+ if (obj instanceof Of) {
+ builder.setOf((Of) obj);
+ return SvecState.OF_IN;
+ }
+ case OF_IN:
+ if (obj instanceof Gc) {
+ builder.setGc((Gc) obj);
+ return SvecState.GC_IN;
+ }
+ case GC_IN:
+ if (obj instanceof Xro) {
+ builder.setXro((Xro) obj);
+ return SvecState.XRO_IN;
+ }
+ case XRO_IN:
+ if (obj instanceof Metric) {
+ metrics.add(new MetricsBuilder().setMetric((Metric) obj).build());
+ return SvecState.XRO_IN;
+ }
+ case METRIC_IN:
+ if (obj instanceof VendorInformationObject) {
+ viObjects.add((VendorInformationObject) obj);
+ return SvecState.METRIC_IN;
+ }
+ case VENDOR_INFO:
+ case END:
+ return SvecState.END;
+ default:
+ return state;
}
}
private static State insertObject(final MetricPceBuilder metricPceBuilder, final State state, final Object obj) {
switch (state) {
- case START :
- if (obj instanceof ProcTime) {
- metricPceBuilder.setProcTime((ProcTime) obj);
- return State.PROC_TIME;
- }
- case PROC_TIME :
- if (obj instanceof Overload) {
- metricPceBuilder.setOverload((Overload) obj);
- return State.OVERLOAD;
- }
- case OVERLOAD :
- case END :
- return State.END;
- default:
- return state;
+ case START :
+ if (obj instanceof ProcTime) {
+ metricPceBuilder.setProcTime((ProcTime) obj);
+ return State.PROC_TIME;
+ }
+ case PROC_TIME :
+ if (obj instanceof Overload) {
+ metricPceBuilder.setOverload((Overload) obj);
+ return State.OVERLOAD;
+ }
+ case OVERLOAD :
+ case END :
+ return State.END;
+ default:
+ return state;
}
}
private void scheduleFailTimer() {
this.failTimer = this.channel.eventLoop().schedule(() -> {
switch (AbstractPCEPSessionNegotiator.this.state) {
- case FINISHED:
- case IDLE:
- break;
- case START_TLS_WAIT:
- sendErrorMessage(PCEPErrors.STARTTLS_TIMER_EXP);
- negotiationFailed(new TimeoutException("StartTLSWait timer expired"));
- AbstractPCEPSessionNegotiator.this.state = State.FINISHED;
- break;
- case KEEP_WAIT:
- sendErrorMessage(PCEPErrors.NO_MSG_BEFORE_EXP_KEEPWAIT);
- negotiationFailed(new TimeoutException("KeepWait timer expired"));
- AbstractPCEPSessionNegotiator.this.state = State.FINISHED;
- break;
- case OPEN_WAIT:
- sendErrorMessage(PCEPErrors.NO_OPEN_BEFORE_EXP_OPENWAIT);
- negotiationFailed(new TimeoutException("OpenWait timer expired"));
- AbstractPCEPSessionNegotiator.this.state = State.FINISHED;
- break;
- default:
- break;
+ case FINISHED:
+ case IDLE:
+ break;
+ case START_TLS_WAIT:
+ sendErrorMessage(PCEPErrors.STARTTLS_TIMER_EXP);
+ negotiationFailed(new TimeoutException("StartTLSWait timer expired"));
+ AbstractPCEPSessionNegotiator.this.state = State.FINISHED;
+ break;
+ case KEEP_WAIT:
+ sendErrorMessage(PCEPErrors.NO_MSG_BEFORE_EXP_KEEPWAIT);
+ negotiationFailed(new TimeoutException("KeepWait timer expired"));
+ AbstractPCEPSessionNegotiator.this.state = State.FINISHED;
+ break;
+ case OPEN_WAIT:
+ sendErrorMessage(PCEPErrors.NO_OPEN_BEFORE_EXP_OPENWAIT);
+ negotiationFailed(new TimeoutException("OpenWait timer expired"));
+ AbstractPCEPSessionNegotiator.this.state = State.FINISHED;
+ break;
+ default:
+ break;
}
}, FAIL_TIMER_VALUE, TimeUnit.SECONDS);
}
LOG.debug("Channel {} handling message {} in state {}", this.channel, msg, this.state);
switch (this.state) {
- case FINISHED:
- case IDLE:
- throw new IllegalStateException("Unexpected handleMessage in state " + this.state);
- case START_TLS_WAIT:
- if (handleMessageStartTlsWait(msg)) {
- return;
- }
- break;
- case KEEP_WAIT:
- if (handleMessageKeepWait(msg)) {
- return;
- }
- break;
- case OPEN_WAIT:
- if (handleMessageOpenWait(msg)) {
- return;
- }
- break;
- default:
- break;
+ case FINISHED:
+ case IDLE:
+ throw new IllegalStateException("Unexpected handleMessage in state " + this.state);
+ case START_TLS_WAIT:
+ if (handleMessageStartTlsWait(msg)) {
+ return;
+ }
+ break;
+ case KEEP_WAIT:
+ if (handleMessageKeepWait(msg)) {
+ return;
+ }
+ break;
+ case OPEN_WAIT:
+ if (handleMessageOpenWait(msg)) {
+ return;
+ }
+ break;
+ default:
+ break;
}
LOG.warn("Channel {} in state {} received unexpected message {}", this.channel, this.state, msg);
sendErrorMessage(PCEPErrors.NON_OR_INVALID_OPEN_MSG);
public static InputStream asInputStream(final String filename, final PathType pathType) {
InputStream in;
switch (pathType) {
- case CLASSPATH:
- in = SslKeyStore.class.getResourceAsStream(filename);
- Preconditions.checkArgument(in != null, "KeyStore file not found: %s", filename);
- break;
- case PATH:
- LOG.debug("Current dir using System: {}", System.getProperty("user.dir"));
- final File keystorefile = new File(filename);
- try {
- in = new FileInputStream(keystorefile);
- } catch (final FileNotFoundException e) {
- throw new IllegalStateException("KeyStore file not found: " + filename,e);
- }
- break;
- default:
- throw new IllegalArgumentException("Unknown path type: " + pathType);
+ case CLASSPATH:
+ in = SslKeyStore.class.getResourceAsStream(filename);
+ Preconditions.checkArgument(in != null, "KeyStore file not found: %s", filename);
+ break;
+ case PATH:
+ LOG.debug("Current dir using System: {}", System.getProperty("user.dir"));
+ final File keystorefile = new File(filename);
+ try {
+ in = new FileInputStream(keystorefile);
+ } catch (final FileNotFoundException e) {
+ throw new IllegalStateException("KeyStore file not found: " + filename,e);
+ }
+ break;
+ default:
+ throw new IllegalArgumentException("Unknown path type: " + pathType);
}
return in;
}
return createClient(address, retryTimer, connectTimeout, (ch, promise) -> {
ch.pipeline().addLast(this.factory.getDecoders());
ch.pipeline().addLast("negotiator", this.negotiatorFactory.getSessionNegotiator(
- () -> listenerFactory,
- ch,
- promise));
+ () -> listenerFactory, ch, promise));
ch.pipeline().addLast(this.factory.getEncoders());
});
}
}
}
-}
\ No newline at end of file
+}