| | |
| | | StationTaskTraceRegistry traceRegistry, |
| | | Integer traceVersion, |
| | | Integer currentStationId) { |
| | | // 在下发新分段前检查路由版本是否仍然有效,避免在路由版本已更新的情况下下发旧版本命令 |
| | | if (!isRouteDispatchable(command == null ? null : command.getTaskNo(), command == null ? null : command.getRouteVersion())) { |
| | | if (traceRegistry != null && command != null) { |
| | | traceRegistry.markCancelled(command.getTaskNo(), traceVersion, currentStationId, |
| | | buildDetails("reason", "route_version_replaced_before_segment_send", "routeVersion", command.getRouteVersion())); |
| | | } |
| | | markCancelled(command == null ? null : command.getTaskNo(), |
| | | command == null ? null : command.getRouteVersion(), |
| | | currentStationId, |
| | | "route_version_replaced_before_segment_send"); |
| | | return false; |
| | | } |
| | | |
| | | while (true) { |
| | | SegmentSendResult sendResult = executeLockedSegmentSend(command, traceRegistry, traceVersion, currentStationId); |
| | | if (sendResult == SegmentSendResult.CANCELLED) { |