Example #1
0
        public BEncodedValue Handle(PeerDetails peerDetails, ITrackable trackable)
        {
            var c = new NameValueCollection();
            c.Add("info_hash", trackable.InfoHash.UrlEncode());
            c.Add("peer_id", peerDetails.PeerId);
            c.Add("port", peerDetails.Port.ToString(CultureInfo.InvariantCulture));
            c.Add("uploaded", peerDetails.Uploaded.ToString(CultureInfo.InvariantCulture));
            c.Add("downloaded", peerDetails.Downloaded.ToString(CultureInfo.InvariantCulture));
            c.Add("left", peerDetails.Remaining.ToString(CultureInfo.InvariantCulture));
            c.Add("compact", "0");

            return base.Handle(c, peerDetails.ClientAddress, false);
        }
Example #2
0
 private void GeneratePeers()
 {
     Peers = new List<PeerDetails>();
     for (var i = 0; i < 100; i++)
     {
         var peerDetails = new PeerDetails
                     {
                         ClientAddress = IPAddress.Parse(string.Format("127.0.{0}.2", i)),
                         Downloaded = (int) (10000*_random.NextDouble()),
                         PeerId = string.Format("-----------------{0:0.000}", i),
                         Port = _random.Next(65000),
                         Remaining = _random.Next(10000, 100000),
                         Uploaded = _random.Next(10000, 100000)
                     };
         Peers.Add(peerDetails);
     }
 }