Fix disconnect flow.

Render session start/end more clearly.
This commit is contained in:
Pavel Minaev 2019-10-15 11:48:09 -07:00 committed by Pavel Minaev
parent 20a9bb74b0
commit 3c9d84a2c5

View file

@ -49,11 +49,11 @@ Adapter ->>+ Debuggee_1: spawn and pass server listener port (cmdline)
Debuggee_1 -->>- Adapter: connect to server listener port
Adapter ->>+ Debuggee_1: request "initialize", "launch"
activate Debuggee_1
note right of Debuggee_1: debug session begins
Debuggee_1 -->>- Adapter: respond to "initialize", "launch"
Debuggee_1 ->>+ Debuggee_1: start debug session
Adapter -->>- IDE: respond to "launch"
loop every message between IDE and Debuggee_1
@ -78,11 +78,11 @@ IDE ->>- Adapter: connect to IDE listener port
IDE ->>+ Adapter: request "attach" to Debuggee_2
Adapter ->>+ Debuggee_2: request "initialize", "attach"
activate Debuggee_2
note right of Debuggee_2: debug session begins
Debuggee_2 -->>- Adapter: respond to "initialize", "attach"
Debuggee_2 ->>+ Debuggee_2: start debug session
Adapter -->>- IDE: respond to "attach"
loop every message between IDE and Debuggee_2
@ -92,32 +92,25 @@ end
Note left of IDE: user stops debugging
IDE ->>+ Adapter: request "disconnect" from Debuggee_2
Adapter ->> Debuggee_2: request "disconnect"
Debuggee_2 ->> Adapter: confirm "disconnect"
Note over Adapter,Debuggee_2: TCP connection is maintained
Adapter -->>- IDE: confirm "disconnect" from Debuggee_2
IDE -X+ Adapter: request "disconnect" from Debuggee_1
Note over Adapter: implies "terminate"
Adapter -X+ Debuggee_1: request "terminate"
Adapter -X+ Debuggee_2: request "terminate"
Debuggee_1 -X Debuggee_2: kill process
Debuggee_2 -->>- Adapter: confirm "terminate"
deactivate Debuggee_2
Debuggee_1 -->>- Adapter: confirm "terminate"
Adapter ->> IDE: "exited" event for Debuggee_2
Debuggee_1 -X- Debuggee_1: exits
Adapter -X+ Debuggee_1: request "terminate"
Debuggee_1 -->>- Adapter: confirm "terminate"
deactivate Debuggee_1
Adapter ->> IDE: "exited" event for Debuggee_1
Adapter -->>- IDE: confirm "disconnect" from Debuggee_1
Adapter -X Adapter: exits
```
@ -159,11 +152,11 @@ IDE ->> Adapter: connect to IDE listener port
IDE ->>+ Adapter: request "attach"
Adapter ->>+ Debuggee_1: request "initialize", "attach"
activate Debuggee_1
note right of Debuggee_1: debug session begins
Debuggee_1 -->>- Adapter: respond to "initialize", "attach"
Debuggee_1 ->>+ Debuggee_1: start debug session
Adapter -->>- IDE: respond to "attach"
loop every message between IDE and Debuggee_1
@ -188,11 +181,11 @@ IDE ->>- Adapter: connect to IDE listener port
IDE ->>+ Adapter: request "attach" to Debuggee_2
Adapter ->>+ Debuggee_2: request "initialize", "attach"
activate Debuggee_2
note right of Debuggee_2: debug session begins
Debuggee_2 -->>- Adapter: respond to "initialize", "attach"
Debuggee_2 ->>+ Debuggee_2: start debug session
Adapter -->>- IDE: respond to "attach"
loop every message between IDE and Debuggee_2
@ -202,25 +195,27 @@ end
Note left of IDE: user detaches IDE
IDE ->>+ Adapter: request "disconnect" from Debuggee_2
IDE ->>+ Adapter: request "disconnect" from Debuggee_1
Adapter ->>+ Debuggee_2: request "disconnect"
Debuggee_2 ->>- Adapter: confirm "disconnect"
Debuggee_2 -->>- Adapter: confirm "disconnect"
deactivate Debuggee_2
note right of Debuggee_2: debug session ends
Debuggee_2 ->>- Debuggee_2: end debug session
Adapter ->> IDE: "terminated" event for Debuggee_2
Note over Adapter,Debuggee_2: TCP connection is maintained
Adapter -->>- IDE: confirm "disconnect" from Debuggee_2
IDE ->>+ Adapter: request "disconnect" from Debuggee_1
Adapter ->>+ Debuggee_1: request "disconnect"
Debuggee_1 ->>- Adapter: confirm "disconnect"
Debuggee_1 ->> Adapter: "terminated" event
Debuggee_1 ->>- Debuggee_1: end debug session
Adapter ->> IDE: "terminated" event for Debuggee_1
Debuggee_1 -->>- Adapter: confirm "disconnect"
deactivate Debuggee_1
note right of Debuggee_1: debug session ends
Note over Adapter,Debuggee_1: TCP connection is maintained
@ -237,11 +232,11 @@ IDE ->> Adapter: connect to IDE listener port
IDE ->>+ Adapter: request "attach"
Adapter ->>+ Debuggee_1: request "initialize", "attach"
activate Debuggee_1
note right of Debuggee_1: debug session begins
Debuggee_1 -->>- Adapter: respond to "initialize", "attach"
Debuggee_1 ->>+ Debuggee_1: start debug session
Adapter ->>+ IDE: "ptvsd_subprocess" event
Adapter -->>- IDE: respond to "attach"
@ -255,11 +250,11 @@ IDE ->>- Adapter: connect to IDE listener port
IDE ->>+ Adapter: request "attach" to Debuggee_2
Adapter ->>+ Debuggee_2: request "initialize", "attach"
activate Debuggee_2
note right of Debuggee_2: debug session begins
Debuggee_2 -->>- Adapter: respond to "initialize", "attach"
Debuggee_2 ->>+ Debuggee_2: start debug session
Adapter -->>- IDE: respond to "attach"
loop every message between IDE and Debuggee_2