File tree Expand file tree Collapse file tree 2 files changed +35
-3
lines changed Expand file tree Collapse file tree 2 files changed +35
-3
lines changed Original file line number Diff line number Diff line change @@ -339,7 +339,7 @@ namespace example_component {
339339==== `operator*`
340340
341341Explicitly add an action to the flow. Actions used in flow extensions without
342- the `*` will be treated as references only and will not be added to the
342+ the `\ *` will be treated as references only and will not be added to the
343343flow at that location. It is a compilation error if an action is not added
344344with a `*` in exactly one location in the overall config.
345345
@@ -388,6 +388,7 @@ what happens by default when we run the flow.
388388// the default flow builder and service
389389template <stdx::ct_string Name = "">
390390using builder = flow::graph<Name, flow::graph_builder<impl>>;
391+
391392template <stdx::ct_string Name = "">
392393struct service {
393394 using builder_t = builder<Name>;
@@ -413,6 +414,7 @@ But given a flow, other renderings are possible.
413414// a flow builder and service that produces a graphviz rendering
414415template <stdx::ct_string Name = "">
415416using viz_builder = flow::graph<Name, flow::graphviz_builder>;
417+
416418template <stdx::ct_string Name = "">
417419struct viz_service {
418420 using builder_t = builder<Name>;
Original file line number Diff line number Diff line change @@ -38,13 +38,43 @@ The library dependencies are:
3838- https://github.com/intel/cpp-senders-and-receivers[Baremetal Senders and Receivers (`async`)]
3939- https://github.com/fmtlib/fmt[fmt]
4040
41- === Libraries
41+ === Functionality
4242
43- _cib_ contains several libraries that work together:
43+ _cib_ contains several parts that work together:
4444
4545- xref:flow.adoc#_the_flow_library[`flow`]
4646- xref:logging.adoc#_the_logging_library[`logging`]
4747- xref:interrupt.adoc#_the_interrupt_library[`interrupt`]
4848- xref:match.adoc#_the_match_library[`match`]
4949- xref:message.adoc#_the_message_library[`message`]
5050- xref:sc.adoc#_the_sc_string_constant_library[`sc` (string constant)]
51+
52+ === Sub-library DAG
53+
54+ Various sub-libraries within CIB form a dependency graph. `cib` is an omnibus
55+ library that contains all the functionality.
56+
57+ [mermaid, format="svg"]
58+ ----
59+ flowchart BT
60+ sc(cib_sc)
61+ nexus(cib_nexus)
62+ lookup(cib_lookup)
63+
64+ flow(cib_flow) --> nexus
65+ flow --> log
66+
67+ interrupt(cib_interrupt) --> sc
68+ match(cib_match) --> sc
69+ log(cib_log) --> sc
70+
71+
72+ log_fmt(cib_log_fmt) --> log
73+ msg(cib_msg) --> log & match
74+ msg --> lookup
75+
76+ log_mipi(cib_log_mipi) --> msg
77+ seq(cib_seq) --> flow
78+
79+ cib --> interrupt & seq & log_fmt & log_mipi
80+ ----
You can’t perform that action at this time.
0 commit comments