public BEncodedValue Handle(PeerDetails peerDetails, ITrackable trackable) { var c = new NameValueCollection { { "info_hash", trackable.InfoHash.UrlEncode() }, { "peer_id", peerDetails.PeerId }, { "port", peerDetails.Port.ToString(CultureInfo.InvariantCulture) }, { "uploaded", peerDetails.Uploaded.ToString(CultureInfo.InvariantCulture) }, { "downloaded", peerDetails.Downloaded.ToString(CultureInfo.InvariantCulture) }, { "left", peerDetails.Remaining.ToString(CultureInfo.InvariantCulture) }, { "compact", "0" } }; return(base.Handle(c, peerDetails.ClientAddress, false)); }
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); } }