Add first version of 'message publishing' section

This commit is contained in:
Christophe Bedard 2019-05-27 14:45:46 +02:00
parent e0e6c4b1af
commit 1c462f5916

View file

@ -187,3 +187,24 @@ sequenceDiagram
end end
Executor->>Subscription: return_message(msg) Executor->>Subscription: return_message(msg)
``` ```
### Message publishing
To publish a message, an object is first allocated and then populated by the `Component` (or equivalent). Then, the message is sent to the `Publisher` through `publish()`. This then passes that on to `rcl`, which itself passes it to `rmw`.
TODO add inter- vs. intra-process execution flow
TODO talk about IntraProcessManager stuff?
```mermaid
sequenceDiagram
participant Component
participant Publisher
participant rcl
participant tracetools
Note over Component: creates a msg
Component->>Publisher: publish(msg)
Note over Publisher: ...
Publisher->>rcl: rcl_publish(rcl_publisher_t, msg)
rcl->>rmw: rmw_publisher(rmw_publisher, msg)
```