You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This document details the complete end-to-end task execution workflow for the PLC Memory Dump process, focusing on task cancellation propagation and connection lifecycle management.
10
+
11
+
## Components Involved
12
+
-**Job Wizard (UI)**: Initiates and manages the UX of the workflow.
13
+
-**BootloaderService**: Handles connection proxying and starts the orchestration.
14
+
-**SocatProcessManager**: Manages the underlying `socat` proxy processes mapping TCP/IP to serial over SSH/Telnet.
15
+
-**MemoryDumpOrchestrator**: Orchestrates the multi-segment memory dump process, tracking memory blocks and dispatching them to the UI thread.
16
+
-**DumperService**: Handles the low-level data packet framing and parsing from the PLC.
17
+
18
+
## Workflow Execution Sequence
19
+
20
+
1.**Initialization (`StartDumpSession`)**
21
+
The JobWizard triggers `BootloaderService.StartDumpSessionAsync()`. This call invokes the `SocatProcessManager` to spawn the necessary `socat` proxies to bridge the connection to the PLC.
The `BootloaderService` passes the `CancellationToken` to `MemoryDumpOrchestrator.StartSessionAsync()`. It creates a linked `CancellationTokenSource` and spawns the `DumperService` loop (`_dumpTask`) and the Consumer loop (`_consumptionTask`).
0 commit comments