summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2018-04-24 22:08:31 +0200
committerMatthias Beyer <mail@beyermatthias.de>2018-04-24 22:16:40 +0200
commit563c76c375eb704a16e50082d134f8b1bb243a7a (patch)
tree64f1331fd59836dee2db8437851899fff0f41d22 /doc
parent19e0471f5b7234c6e09371e3264072ed8fdcc5e1 (diff)
Remove "stdio" file abstraction from store implementation
Diffstat (limited to 'doc')
-rw-r--r--doc/src/02000-store.md77
1 files changed, 0 insertions, 77 deletions
diff --git a/doc/src/02000-store.md b/doc/src/02000-store.md
index acb2c6d8..7a0b6ac4 100644
--- a/doc/src/02000-store.md
+++ b/doc/src/02000-store.md
@@ -178,80 +178,3 @@ The `InMemoryFileAbstractionInstance` implementation is corrosponding to
the `InMemoryFileAbstraction` implementation - for the in-memory
"filesystem".
-## The StdIo backend {#sec:thestore:backends:stdio}
-
-Sidenote: The name is "StdIo" because its main purpose is Stdin/Stdio, but it
-is abstracted over Read/Write actually, so it is also possible to use this
-backend in other ways, too.
-
-### Why? {#sec:thestore:backends:stdio:why}
-
-This is a backend for the imag store which is created
-from stdin, by piping contents into the store (via JSON or TOML) and piping the
-store contents (as JSON or TOML) to stdout when the backend is destructed.
-
-This is one of some components which make command-chaining in imag possible.
-With this, the application does not have to know whether the store actually
-lives on the filesystem or just "in memory".
-
-### Mappers {#sec:thestore:backends:stdio:mappers}
-
-The backend contains a "Mapper" which defines how the contents get mapped into
-the in-memory store representation: A JSON implementation or a TOML
-implementation are possible.
-
-The following section assumes a JSON mapper.
-
-The mapper reads the JSON, parses it and translates it to a `Entry`.
-Then, the entry is made available to the store codebase.
-To summarize what we do right now, lets have a look at the awesome ascii-art
-below:
-
-```
- libimag*
- |
- v
- IO Mapper Store Mapper IO
-+--+---------+----------------+--------+--+
-| | | | | |
- JSON -> Entry -> JSON
-```
-
-This is what gets translated where for one imag call with a stdio store backend.
-
-### The JSON Mapper {#sec:thestore:backends:stdio:json}
-
-The JSON mapper maps JSON which is read from a source into a HashMap which
-represents the in-memory filesystem.
-
-The strucure is as follows:
-
-```json
-{
- "version": "0.8.0",
- "store": {
- "example": {
- "header": {
- "imag": {
- "version": "0.8.0",
- },
- },
- "content": "hi there!",
- },
- },
-}
-```
-
-### TODO {#sec:thestore:backends:todo}
-
-If you look at the version history of this file you will see that this
-implementation has grown from something complex and probably slow to what we
-have today.
-
-Still, there's one improvement we could make: abstract all the things away so
-the `libimag*` crates handle the header without knowing whether it is JSON or
-TOML.
-With this, we would not even have to translate JSON to TOML anymore.
-We should measure whether this would have actually any performance impact before
-implementing it.
-