ResInsight/doc/grpc_sequence.plantuml
2019-05-27 07:29:56 +02:00

58 lines
1.4 KiB
Plaintext

@startuml
actor Client
box "Server Side" #LightBlue
participant Server order 20
participant Service order 40
participant Callback order 30
participant ServerThread order 10
Server -> Service : Create
activate Server
Server -> Callback : Create(Service)
Server -> ServerThread : Launch
activate ServerThread
deactivate Server
Client -> ServerThread: Request #1
ServerThread -> Server : Queue(Request #1)
Server -> Server : Scheduled
activate Server
Server->ServerThread : Block
deactivate ServerThread
Server -> Server : Take Requests
Server->ServerThread : Unblock
activate ServerThread
Server -> Callback : Init(Request #1)
activate Callback
Server -> Callback : Process(Request #1)
Callback -> Service : Method
activate Service
return Result
deactivate Service
Client -> ServerThread: Request #2
Callback --> Server : Finish #1
deactivate Callback
Server --> Client : Reply #1
deactivate Server
ServerThread -> Server : Queue(Request #2)
Server -> Server : Scheduled
activate Server
Server->ServerThread : Block
deactivate ServerThread
Server->Server : Take Requests
Server->ServerThread : Unblock
activate ServerThread
Server -> Callback : Process(Request #2)
activate Callback
Server -> Callback : Init(Request #1)
Callback -> Service : Method
activate Service
return Result
Callback --> Server : Finish #2
deactivate Callback
Server --> Client : Reply #2
deactivate Server
deactivate ServerThread
@enduml