Pet project to study P2P concepts.
- Some data structures (list, hash, trees), non-thread-safe.
- Non-blocking IO event loop.
- Kademlia DHT.
- Bencode de-/serialization.
mkdir build && cd build
meson
# meson configure -Db_coverage=true -Db_sanitize=address,undefined
ninja
kldload mqueuefs
on FreeBSD.
src/ptp -h # print help
src/ptp -a 127.0.0.1 -p 2222 # start binding to 127.0.0.1:2222
- Julienne Walker's tutorials
- cjdns by Caleb James DeLisle
- Linux kernel by the Linux community
- nanomsg by Martin Sustrik
- FreeBSD bits by Niels Provos
- Nadeem Abdul Hamid's P2P Programming Framework
- Jakob Jenkov's P2P Tutorial
- BitTorrent DHT Protocol specifications by Andrew Loewenstern and Arvid Norberg
- Kademlia's paper