No description
Find a file
2018-10-11 20:43:56 -04:00
p2pfs Add await for is_connected() method. 2018-10-11 20:43:56 -04:00
tests Add test for tracker disconnect. 2018-10-11 18:08:39 -04:00
.coveragerc Add simple test. 2018-09-30 10:12:02 -04:00
.gitignore Change git ignore. 2018-09-21 23:01:19 -04:00
.travis.yml Build on python 3.7 2018-10-07 10:32:34 -04:00
LICENSE Initial commit 2018-09-21 11:23:51 -04:00
MANIFEST.in Initial commit. 2018-09-21 23:06:22 -04:00
README.md Add description. 2018-10-08 11:42:00 -04:00
setup.cfg Add tox and setup config files. 2018-09-29 23:42:00 -04:00
setup.py Use pytest-asyncio to run test asynchrounouly. 2018-10-08 21:29:51 -04:00
tox.ini Add tox and setup config files. 2018-09-29 23:42:00 -04:00

p2pfs

Build Status codecov

File System based on P2P.

The system include multiple clients (also named peers) and one central server. A peer can join the P2P file sharing system by connecting to the server and providing a list of files it wants to share. The server shall keep a list of all the files shared on the network. The file being distributed is divided into chunks (e.g. a 10 MB file may be transmitted as ten 1 MB chunks). For each file, the server shall be responsible for keeping track of the list of chunks each peer has. As a peer receives a new chunk of the file it becomes a source (of that chunk) for other peers. When a peer intends to download a file, it will initiate a direct connection to the relevant peers to download the file. A peer should be able to download different chunks of the file simultaneously from many peers.