Skip to content

Implemetation of peer to peer file sharing based on paper "Incentives Build Robustness in BitTorrent"

Notifications You must be signed in to change notification settings

saiajaym/gorrent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gorrent

Implemetation of peer to peer file sharing based on paper Incentives Build Robustness in BitTorrent

Most of the stratergies described in the paper on peer to peer file sharing such as rarest first, fault tolerance, etc. are implemented in go lang. Go threads are leveraged to handle multiple seeds and leeches concurrently.

The project is meant for learning and undertanding Incentives Build Robustness in BitTorrent.

Usage:

Server/Tracker

Or Tracker in this case, runs on port 7777. All the peer data is stored in tracker.db file. Tracker can be started by using the below commad.

go run tracker.go

Seeds/Leeches

The client code in this case acts as both seed and leeche.

go run peer.go [PORT NO]

The common folder has message interface file for a clean communication between trackers and peers, and also between peers and peers.

BoltDB is used both in tracker and peer code for persistant storage of information.

About

Implemetation of peer to peer file sharing based on paper "Incentives Build Robustness in BitTorrent"

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages