Skip to content

Commit e905cb0

Browse files
committed
📚 Add diagram of sub-library DAG
1 parent 97413e5 commit e905cb0

File tree

1 file changed

+32
-2
lines changed

1 file changed

+32
-2
lines changed

docs/intro.adoc

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff 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+
----

0 commit comments

Comments
 (0)