diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2017-10-18 17:18:23 -0700 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2017-10-18 17:18:23 -0700 |
commit | 5c59ba4e6f3ca12877d79859b16d1e63e559bb8a (patch) | |
tree | b6842d9a76e6832642ca1a78f596ec1abe2a9094 /notes | |
parent | e46bfcad874c4cb0e100f8cae15d23501a376dc0 (diff) | |
download | geniza-5c59ba4e6f3ca12877d79859b16d1e63e559bb8a.tar.gz geniza-5c59ba4e6f3ca12877d79859b16d1e63e559bb8a.zip |
commit a bunch of meta files
Diffstat (limited to 'notes')
-rw-r--r-- | notes/process.md | 34 | ||||
-rw-r--r-- | notes/spec_todo.txt | 15 |
2 files changed, 49 insertions, 0 deletions
diff --git a/notes/process.md b/notes/process.md new file mode 100644 index 0000000..bd3a516 --- /dev/null +++ b/notes/process.md @@ -0,0 +1,34 @@ + +This is an ordered list of testable steps to get to a minimal dat client in +just about any language. + +sleep + read/write headers + read/write individual elements as raw bytes + read/write contiguous batches + +registers + read elements by index + verify signature by index (not leaves) + append elements + +drive + data register to a single file + single file to a data register + print metadata tree ("ls") + create metadata tree for a directory + directory to metadata+data registers + registers to directory + +sync + send/receive messages to a known host + pull register from a known host + wrapper command + + + + +Shortcuts: + key/value store instead of SLEEP files + pull/read/to-file only + don't verify any hashes (!) diff --git a/notes/spec_todo.txt b/notes/spec_todo.txt new file mode 100644 index 0000000..b361f70 --- /dev/null +++ b/notes/spec_todo.txt @@ -0,0 +1,15 @@ + +Things that were underspecified in the spec/whitepaper: + +- endianness of magic (big-endian) +- uppercase/lowercase of algorithm name (inconsistent in one place) +- what if there is only a single chunk/entry in a register tree? then a leaf + acts as a root? + +"You can use the byteOffset property in the Stat meta- data object to seek into +the right position in the content for the start of this chunk." => unnecessary, +node.js specific? + +Clarify: appending to tree SLEEP results in writes into middle of file (for +root nodes). This seems not-great for performance (can't bulk-write). Better to +cache or work in RAM then batch commit? |