From bde2282d17474783d83a1e538beaaaff296115b7 Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Mon, 16 Oct 2017 18:58:24 -0700 Subject: initial structure --- notes/register.md | 22 ++++++++++++++++++++++ notes/sleep.md | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 notes/register.md create mode 100644 notes/sleep.md (limited to 'notes') diff --git a/notes/register.md b/notes/register.md new file mode 100644 index 0000000..f036543 --- /dev/null +++ b/notes/register.md @@ -0,0 +1,22 @@ + +### SLEEP File Types + + key + no header, raw bytes + 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 + magic: 0x05025701 + entry-size: 65 + algorithm name: 'Ed25519' (len=7) + entry: 64-byte Ed25519 signature + bitfield + magic: 0x05025700 + entry-size: 3328 + algorithm name: '' (len=0) + entry: 1024 bytes data, 2048 bytes tree, 256 bitfield diff --git a/notes/sleep.md b/notes/sleep.md new file mode 100644 index 0000000..d13a489 --- /dev/null +++ b/notes/sleep.md @@ -0,0 +1,37 @@ + +### Binary Header + +Fixed 32-bytes + + ----------------------------------------------------------------- + | MAGIC | + ----------------------------------------------------------------- + | VERSION (0) | ENTRY SIZE (uint16BE) | ALGO NAME LEN | + ----------------------------------------------------------------- + | | + | | + | | + | ALGORITHM NAME (lower-case string) | + | | + | | + ----------------------------------------------------------------- + + + PREFIX LEN is max 24 (bytes) + + offset: 32 + entrySize * entryIndex + count: (fileSize - 32) / entrySize + + +### SLEEP API + + SleepStorage trait + SleepFile struct/impl + + get_magic() -> u32 + get_algorithm() -> &str + read(index) -> &bytes[] + write(index, &bytes[]) + length() -> u64 + + First time around just do regular file seek() stuff -- cgit v1.2.3