File: server_port.puml

package info (click to toggle)
iceoryx 2.0.3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 11,260 kB
  • sloc: cpp: 94,127; ansic: 1,443; sh: 1,436; python: 1,377; xml: 80; makefile: 61
file content (53 lines) | stat: -rw-r--r-- 1,626 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
@startuml

class ServerPortData {
  chunkSenderData: ServerChunkSenderData_t
  chunkReceiverData: ServerChunkReceiverData_t
  offeringRequested: atomic<bool>
  offered: atomic<bool>
}


enum ServerRequestResult {
    TOO_MANY_REQUESTS_HELD_IN_PARALLEL,
    NO_PENDING_REQUESTS,
    UNDEFINED_CHUNK_RECEIVE_ERROR,
    NO_PENDING_REQUESTS_AND_SERVER_DOES_NOT_OFFER,
}

enum ServerSendError {
    NOT_OFFERED,
    CLIENT_NOT_AVAILABLE,
    INVALID_RESPONSE,
}

class ServerPortUser {
  offer(): void
  stopOffer(): void
  isOffered(): bool
  hasClients(): bool
  getRequest(): expected<const RequestHeader*, ServerRequestResult>
  releaseRequest(requestHeader: const RequestHeader*): void
  releaseQueuedRequests(): void
  hasNewRequests(): bool
  hasLostRequestsSinceLastCall(): bool
  allocateResponse(requestHeader: RequestHeader*, userPayloadSize: uint32_t, userPayloadAlignment: uint32_t): expected<ResponseHeader*, AllocationError>
  sendResponse(responseHeader: ResponseHeader*): expected<ServerSendError>
  releaseResponse(responseHeader: const ResponseHeader*): void
  setConditionVariable(conditionVariableData: ConditionVariableData&, notificationIndex: uint64_t): void
  unsetConditionVariable: void
  isConditionVariableSet(): bool
}

class ServerPortRouDi {
  tryGetCaProMessage(): optional<CaProMessage>
  dispatchCaProMessageAndGetPossibleResponse(caProMessage: const CaProMessage &): optional<CaProMessage>
  releaseAllChunks(): void
  getRequestQueueFullPolicy(): QueueFullPolicy
  getClientTooSlowPolicy(): ConsumerTooSlowPolicy
}

ServerPortUser o-- ServerPortData
ServerPortData --o ServerPortRouDi

@enduml