Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        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);
        }