59 lines
1.7 KiB
Text
59 lines
1.7 KiB
Text
@startuml
|
|
|
|
[*] --> IDLE
|
|
|
|
ESTABLISHING : PROBE_TIMEOUT: SendProbeIfAnySentPktsUnacked() [default]
|
|
|
|
state ACTIVE {
|
|
state ESTABLISHING {
|
|
PROACTIVE_VER_NEG :
|
|
PRE_INITIAL :
|
|
INITIAL_EXCHANGE_A :
|
|
REACTIVE_VER_NEG :
|
|
INITIAL_EXCHANGE_B :
|
|
INITIAL_EXCHANGE_CONTINUED :
|
|
HANDSHAKE :
|
|
HANDSHAKE_CONTINUED :
|
|
HANDSHAKE_COMPLETED :
|
|
HANDSHAKE_CONFIRMED :
|
|
|
|
[*] --> PROACTIVE_VER_NEG : use proactive VN?
|
|
[*] --> PRE_INITIAL : else
|
|
PROACTIVE_VER_NEG --> PRE_INITIAL : RX:VER_NEG
|
|
PROACTIVE_VER_NEG --> PROACTIVE_VER_NEG : PROBE_TIMEOUT
|
|
PRE_INITIAL --> INITIAL_EXCHANGE_A : ε
|
|
INITIAL_EXCHANGE_A --> INITIAL_EXCHANGE_B : RX:RETRY
|
|
INITIAL_EXCHANGE_A --> INITIAL_EXCHANGE_CONTINUED : RX:INITIAL
|
|
INITIAL_EXCHANGE_A --> REACTIVE_VER_NEG : RX:VER_NEG
|
|
|
|
REACTIVE_VER_NEG --> PRE_INITIAL : ε
|
|
|
|
INITIAL_EXCHANGE_B --> INITIAL_EXCHANGE_CONTINUED : RX:INITIAL
|
|
INITIAL_EXCHANGE_CONTINUED --> HANDSHAKE : TLS:HAVE_EL(HANDSHAKE)
|
|
|
|
HANDSHAKE --> HANDSHAKE_CONTINUED : RX:HANDSHAKE
|
|
HANDSHAKE_CONTINUED --> HANDSHAKE_COMPLETED : TLS:HANDSHAKE_COMPLETE
|
|
HANDSHAKE_COMPLETED --> HANDSHAKE_CONFIRMED : RX:1RTT[HANDSHAKE_DONE]
|
|
}
|
|
OPEN :
|
|
[*] --> ESTABLISHING
|
|
}
|
|
|
|
state TERMINATING {
|
|
CLOSING :
|
|
DRAINING :
|
|
CLOSING --> DRAINING : RX:ANY[CONNECTION_CLOSE]
|
|
}
|
|
|
|
HANDSHAKE_CONFIRMED --> OPEN : ε
|
|
|
|
IDLE --> ACTIVE : APP:CONNECT
|
|
|
|
IDLE --> TERMINATED : APP:CLOSE
|
|
TERMINATING --> TERMINATED : TERMINATING_TIMEOUT, RX:STATELESS_RESET
|
|
|
|
ACTIVE --> CLOSING : APP:CLOSE
|
|
ACTIVE --> DRAINING : RX:ANY[CONNECTION_CLOSE]
|
|
ACTIVE --> TERMINATED : IDLE_TIMEOUT, RX:STATELESS_RESET
|
|
|
|
@enduml
|