Implemented a class called PeerSpooler. This class will spool and rank all peers based on their download rate every so often (specified by caller on ctor) for then leave the top 3 unchoked, choke the 4th one and then unchoke a random new one. As per the assignment it should be every 30 seconds... so i passed 30*1000 on the ctor under .startExecuting in bittorrent. I am still working on it... I will be busy until today's evening.