' Licensed under the Apache License, Version 2.0 (the "License");
' you may not use this file except in compliance with the License.
' You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
' Unless required by  applicable law or agreed to in writing, software distributed under the License is distributed
' on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
' See the License for the specific language governing permissions and limitations under the License.

@startuml

actor Inbound
participant "Traffic\nServer" as TS
entity "app-server-56:4443" as Outbound

Inbound <-[#green]> TS : <font color="green">//TCP//</font> Handshake
Inbound -[#blue]> TS : <font color="blue">//TLS//</font> Client HELLO\nSNI=service-2.example.com
note over TS : Examine SNI value\nSelect Outbound
TS <-[#green]> Outbound : <font color="green">//TCP//</font> Handshake
TS -[#blue]> Outbound : <font color="blue">//TLS//</font> Client HELLO\nSNI=service-2.example.com
note left : Duplicate of Inbound HELLO
note over TS : Forward bytes\nInbound <&arrow-thick-left> <&arrow-thick-right> Outbound
note over Inbound, Outbound : <font color="blue">TLS negotiation</font>
Inbound <-[#blue]-> Outbound
note over Inbound, Outbound : Transactions
Inbound <-[#black]-> Outbound

@enduml
