/// <summary> /// /// </summary> /// <param name="torrent"></param> /// <param name="ev"></param> /// <param name="id"></param> /// <param name="port"></param> public void Update(Torrent torrent, TrackerEvent ev, string id, int port) { // We should wait for request interval to elapse before asking for new peers if (ev == TrackerEvent.Started && DateTime.UtcNow < LastPeerRequest.Add(PeerRequestInterval)) { return; } LastPeerRequest = DateTime.UtcNow; var url = $"{Address}?info_hash={torrent.UrlSafeStringInfohash}&peer_id={id}&port={port}&uploaded={torrent.Uploaded}&downloaded={torrent.Downloaded}&left={torrent.Left}&event={Enum.GetName(typeof(TrackerEvent), ev).ToLower()}&compact=1"; Request(url); }
public void Update(Torrent torrent, TrackerEvent ev, string id, int port) { // wait until after request interval has elapsed before asking for new peers if (ev == TrackerEvent.Started && DateTime.UtcNow < LastPeerRequest.Add(PeerRequestInterval)) { return; } LastPeerRequest = DateTime.UtcNow; string url = String.Format("{0}?info_hash={1}&peer_id={2}&port={3}&uploaded={4}&downloaded={5}&left={6}&event={7}&compact=1", Address, torrent.UrlSafeStringInfohash, id, port, torrent.Uploaded, torrent.Downloaded, torrent.Left, Enum.GetName(typeof(TrackerEvent), ev).ToLower()); Request(url); }