aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
blob: 36ae6ea7086334b1d3cf87580b5eab7ad9df99b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

next:
- appending to register
- verifying register
- reading/writing secret key for register
- bitfield stuff
    https://docs.rs/bit_field/0.8.0/bit_field/trait.BitArray
- protobuf infra
- basic drive trait
- 'drive log' command (shows actions)
- network infra
- 'geniza clone' command
- 'geniza checkout' command
- 'geniza init', 'geniza commit' commands
- 'geniza broadcast' command

meta:
- rustfmt
- github
- travis tests (linux, osx)

specific tests:
- sleep info a variety of bad sleep files, should error
- sleep create a known file, should be same as empty (also a "Rot13" algo file)
- create a register, binary compare against known-good

sleep: SLEEP file I/O
register: hypercore registers/journal streams, signing
drive: hyperdrive
sync: dat network protocol, discover
geniza: command line, swarm



Backburner:
- refactor to something pwrite based for file I/O
    https://doc.rust-lang.org/std/os/unix/fs/trait.FileExt.html
    https://github.com/vasi/positioned-io
- mmap
    https://docs.rs/scroll/0.7.0/scroll/
- switch to byteorder for endian reads/writes
- --json args to most CLI commands
- simplify APIs
- SleepFile from existing File
- refactor key generation into generic/re-usable function
- turn magic numbers in tree nodes into declared (public?) constants
- root_nodes as an iterator? (vs returning a Vec)