At the moment, as far as I can see, the client only sends the first announce request when you unpause (start) a torrent, and then enters a loop that sends further requests at a given interval (min_interval or interval).
First, I think the default behavior should be to send announce requests at interval, not min_interval, since many trackers return a very low min_interval (often around 1 minute), which is a bit overkill - especially when running several thousand torrents.
Second, the client should send announce requests with event=completed and event=stopped immediately, rather than waiting until the next scheduled interval.
Finally, when the session is being destroyed, the client should send an event=stopped announce for all torrents.
I’m happy to submit a PR to address these issues if you agree with the proposed behavior.
At the moment, as far as I can see, the client only sends the first announce request when you
unpause(start) a torrent, and then enters a loop that sends further requests at a given interval (min_intervalorinterval).First, I think the default behavior should be to send announce requests at
interval, notmin_interval, since many trackers return a very lowmin_interval(often around 1 minute), which is a bit overkill - especially when running several thousand torrents.Second, the client should send announce requests with
event=completedandevent=stoppedimmediately, rather than waiting until the next scheduled interval.Finally, when the session is being destroyed, the client should send an
event=stoppedannounce for all torrents.I’m happy to submit a PR to address these issues if you agree with the proposed behavior.