File: service_sequence.plantuml

package info (click to toggle)
libcharon 5.0.0-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 576 kB
  • sloc: python: 1,575; sh: 388; makefile: 3
file content (67 lines) | stat: -rw-r--r-- 1,302 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
@startuml

hide footbox

== Synchronous ==

Client -> Request: Create
activate Request
Request --> Client

Client -> Request: waitForFinished

Request -> FileService: startRequest
FileService --> Request: return requestId

FileService -> Queue: enqueue
Queue --> FileService

Worker -> Queue: takeNext
Queue --> Worker: job

activate Worker
Worker -> Worker: Process File

Worker -> FileService: requestData(id, data)
FileService -->>o Request: requestData(id, data)

Worker -> FileService: requestFinished(id)
FileService -->>o Request: requestFinished(id)
deactivate Worker

Request --> Client: data
destroy Request

== Asynchronous ==

Client -> Request: Create
activate Request
Request --> Client

Client -> Request: start
Request --> Client

Request -> FileService: startRequest
FileService --> Request: return requestId

FileService -> Queue: enqueue
Queue --> FileService

Worker -> Queue: takeNext
Queue --> Worker: job

activate Worker
Worker -> Worker: Process File

Worker -> FileService: requestData(id, data)
FileService -->>o Request: requestData(id, data)
Request -->>o Client: requestData(request, data)

Worker -> FileService: requestFinished(id)
FileService -->>o Request: requestFinished(id)
deactivate Worker
Request -->>o Client: requestFinished(request)

destroy Request

@enduml