Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not following BEP12 'announce-list' #513

Closed
DiegoRBaquero opened this issue Dec 4, 2015 · 5 comments
Closed

Not following BEP12 'announce-list' #513

DiegoRBaquero opened this issue Dec 4, 2015 · 5 comments
Labels

Comments

@DiegoRBaquero
Copy link
Member

@DiegoRBaquero DiegoRBaquero commented Dec 4, 2015

At the moment WebTorrent announces to all the announce-list instead of following the specification.

Right now, as default trackers are default listed, a torrent should only use BTorrent's tracker (2nd default) if it can't reach WebTorrent's tracker. It, howevers, uses both trackers.

http://bittorrent.org/beps/bep_0012.html

@feross

This comment has been minimized.

Copy link
Member

@feross feross commented Dec 4, 2015

Thanks for looking into this.

I think the spec is a bit vague here, to be honest. I read it this way: Announce to all tiers, but in order. Example: Announce to Tier 1, wait for response or timeout, then announce to Tier 2, etc. If there is more than one tracker in a tier, then any tracker will do and one-at-a-time should be tried as a load-balancing strategy.

WebTorrent currently just announces to every tracker immediately.

Notably, Transmission appears to announce to all tiers immediately too, but I haven't checked how it handles multiple trackers in the same tier.

Announcing to all tiers immediately seems perfectly okay. It doesn't materially change what would happen since all tiers will be announced to anyway. It just improves the speed of peer finding. I'm fine with copying Transmission's behavior here.

As far as multiple trackers in a single tier – I've never seen a torrent like this, so I don't think it's super important to get this right. @DiegoRBaquero - Is this actually an issue for you? If not, I'd prefer to keep the implementation simple.

Note: create-torrent currently produces a default announce-list with each tracker in its own tier. Since tracker.webtorrent.io and tracker.btorrent.xyz are in different tiers, they should both be announced to (by my reading of the spec).

@feross feross added the question label Dec 4, 2015
@feross

This comment has been minimized.

Copy link
Member

@feross feross commented Dec 4, 2015

Sorry – was wrong. You can still specify the full announce-list with create-torrent. Updated comment above.

@DiegoRBaquero

This comment has been minimized.

Copy link
Member Author

@DiegoRBaquero DiegoRBaquero commented Dec 4, 2015

It's doesn't really bother me not following the specification. I just had a look into it because of my comment #427 where I suggest that using opts.announceList overrides the default trackers list and using opts.announce adds your specified trackers to the default ones.

create-torrent opts.announce and opts.announceList do the same thing right now: override the default trackers and set the announceList the the specified tracker(s).

I see an opportunity there to add the extra functionality.

In my opinion, announcing to all available trackers in all available tiers immediately should remain and be the default.

@feross

This comment has been minimized.

Copy link
Member

@feross feross commented Jan 10, 2016

Nice, closing this now.

@feross feross closed this Jan 10, 2016
@lock

This comment has been minimized.

Copy link

@lock lock bot commented May 4, 2018

This thread has been automatically locked because it has not had recent activity. To discuss futher, please open a new issue.

@lock lock bot locked as resolved and limited conversation to collaborators May 4, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.