@startuml

activate Client
Client -> Listener: positioning request

activate Listener
Listener ->> Aggregator: request + SS

' Aggregation timeout
activate Aggregator
Aggregator -> Aggregator: aggregation timer
activate Aggregator #DarkSalmon
Listener -->> Aggregator: request + SS
note right: added
Aggregator -> Aggregator: timeout
deactivate Aggregator

' Transmit the aggregated request
Aggregator -> Positioner: aggregated request
activate Positioner

' Keep timeout
Aggregator -> Aggregator: keep timer
activate Aggregator #DarkSalmon
Listener -->> Aggregator: request + SS
note right: ignored
deactivate Listener
Aggregator -> Aggregator: timeout
deactivate Aggregator

deactivate Aggregator

Positioner -> Client: computed position
deactivate Positioner
deactivate Client

@enduml
