summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2019-11-09 17:02:59 +0100
committerMatthias Beyer <mail@beyermatthias.de>2019-12-01 13:03:22 +0100
commitd97dfc2d52c046cf718e5fdda147914fe23bd59f (patch)
tree62df1ba0524b6744e84c5ecd3c18a6ba4560d2bc
parent55274ad1cd8434357309108a8c827473e5d17ae0 (diff)
Remove libimagerror, visualize that libimagrt is used in the full stack
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r--doc/src/01010-architecture.md24
1 files changed, 11 insertions, 13 deletions
diff --git a/doc/src/01010-architecture.md b/doc/src/01010-architecture.md
index b859da0b..fed1da41 100644
--- a/doc/src/01010-architecture.md
+++ b/doc/src/01010-architecture.md
@@ -43,9 +43,9 @@ These are all libraries. There are also binary crates in the imag project
With the things from above, a module could have the following architecture:
```
-+---------------------------------------------+
-| imag-foo |
+-----------------------------------+---------+
+| imag-foo | |
++-----------------------------------+ |
| libimagfoo | |
+-----------------+-----------------+ |
| | | |
@@ -57,11 +57,7 @@ With the things from above, a module could have the following architecture:
| | imag |
+-----------------------------------+ |
| | |
-| libimagrt | |
-| | error |
-+-----------------------------------+ |
-| | |
-| libimagstore | |
+| libimagstore | rt |
| | |
+-----------------------------------+---------+
```
@@ -70,17 +66,19 @@ External dependencies are not listed in this graphic.
The foundation of all imag modules is the store, as one can see in the
visualization from above.
-Above the store library there is the libimagrt, which provides the basic runtime
-and access to the `Store` object.
-Cross-cutting, there is the error library (and possibly
-the util library, but we do not care about this one here), which is used through
-all levels. The highest level of all imag modules is the commandline interface
-on top of the domain library. In between can be any number of entry extension
+Above the store level, entry libraries and domain libraries are used to
+implement functionality.
+The highest level of all imag modules is the commandline interface
+on top of the domain library. In between can be any number of entry extension
libraries, or none if not needed.
+libimagrt is used by the binary to construct the runtime, which itself
+constructs and initializes the Store, so this library is used in the full stack
+more or less.
Theoretically, the commandline interface crate could be replaced to build a
terminal user interface, graphical user interface or web interface.
+
## Types
The imag core, hence the libimagstore, libimagrt and libimagerror, provide a set