diff options
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? |