diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2017-10-17 10:46:36 -0700 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2017-10-17 10:46:36 -0700 |
commit | 5f79aa1d3b80100e0207507a5d7b499599647918 (patch) | |
tree | 4465929744912f12688c7d222535718a5e20f405 /notes | |
parent | b30dcccd4f6e3098e6bba7cc58ee12e4196a54e4 (diff) | |
download | geniza-5f79aa1d3b80100e0207507a5d7b499599647918.tar.gz geniza-5f79aa1d3b80100e0207507a5d7b499599647918.zip |
doc updates
Diffstat (limited to 'notes')
-rw-r--r-- | notes/register.md | 38 | ||||
-rw-r--r-- | notes/sleep.md | 2 |
2 files changed, 31 insertions, 9 deletions
diff --git a/notes/register.md b/notes/register.md index f036543..1bc7055 100644 --- a/notes/register.md +++ b/notes/register.md @@ -1,22 +1,44 @@ -### SLEEP File Types +### Register File Types - key - no header, raw bytes - tree + tree: SLEEP merkel tree magic: 0x05025702 entry-size: 40 bytes algorithm name: 'BLAKE2b' (len=7) entry: 32-byte BLAKE2b node hash + 8-byte Uint64BE length - data - no header, raw bytes - signatures + signatures: SLEEP array magic: 0x05025701 entry-size: 65 algorithm name: 'Ed25519' (len=7) entry: 64-byte Ed25519 signature - bitfield + bitfield: SLEEP array of bitfields magic: 0x05025700 entry-size: 3328 algorithm name: '' (len=0) entry: 1024 bytes data, 2048 bytes tree, 256 bitfield + key: public key + no header, raw bytes + data + no header, raw bytes, concatonated + +### Register API + + SleepDirectoryRegister struct + open(directory, prefix) + create(directory, prefix, options) + + file handles for tree, sig, bitfield, data; key is write-once + + has(index) -> bool + has_all() -> bool + has_range(start, end) -> bool + get(index) -> data (arbitrary length) + append(entry) -> index written + len() -> u64 + len_bytes() -> u64 + verify() -> bool (verifies merkel tree against data, and signatures) + check() -> bool (quick consistency check of lengths, etc) + writable() -> bool + + read_block(start, end) -> read api implementer + diff --git a/notes/sleep.md b/notes/sleep.md index 5fe5d10..600b5c7 100644 --- a/notes/sleep.md +++ b/notes/sleep.md @@ -36,6 +36,6 @@ Fixed 32-bytes get_algorithm() -> &str read(index) -> &bytes[] write(index, &bytes[]) - length() -> u64 + len() -> u64 First time around just do regular file seek() stuff |