Add first version of 'message publishing' section
This commit is contained in:
parent
e0e6c4b1af
commit
1c462f5916
1 changed files with 21 additions and 0 deletions
21
doc/ros_2.md
21
doc/ros_2.md
|
@ -187,3 +187,24 @@ sequenceDiagram
|
|||
end
|
||||
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)
|
||||
```
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue