# TODO
----------------------------------------------------------------------
* lcshare
* lcsync
* lcshare admin::/path/to/admin
* password prompt, unless --nopass

* metadata, file ownership, permissions, mtime
* directory syncing

* remove unneeded DEBUG
* code review, API
* sharding
* indexing
* improve / extend librecast API with supporting functions

* encryption (symmetric from password seed)
* FEC
* flow control

* merge file/net/mtree into librecast API
* merge MLD into librecast API
* SSE*/AVX/AVX2 dispatcher, function pointers etc.
* improved test harness

* pretty ncurses interface?
* net_send_subtree() / net_send_data() - return bytes or -1
* net_dump() (implement --hex for network files)
* (Linux) eBPF
* channel interleaving
* verify tree when received, update map and continue receiving if tree invalid
* ratelimit kbps
* work out network saturation %
* stats - calculate transfer speed bps etc.
* detect hotplug interfaces
* gettext - international msgs
* peer to peer - reshare files - de-duping of multiple sends
* atomic replication via temporary file and mv - COW?
* document all our headers etc in RFC format with header structures mapped out in ASCII
* resizing of merkle tree for changing data
