Skip to content

Latest commit

 

History

History
29 lines (15 loc) · 1.29 KB

File metadata and controls

29 lines (15 loc) · 1.29 KB

HaskTracker

Brief Summary

  1. Language: Haskell

  2. Libraries:

    1. Rest WebAPI: Servant

    2. HTTP Server: Warp

    3. UDP Server (Sockets): Network

    4. Concurrency Management: Haskell Base Libraries

Design Description

This tracker provides two services, that are mentioned by the BEP Specifications.

Protocol Specific Information on the exact structure of these requests is found from TheoryOrg.

The peer-selection protocol is effectively a round-robin algorithm, by randomizing the selection of peers, thus proving an equal probability of selection to each peer, ensuring fairness.

The state information for this tracker is maintained in memory, and can be rebuilt subsequently after power-failures or server downtimes, providing no additional server interruption to clients.