{"action":"created","issue":{"url":"https://api.github.com/repos/chihaya/chihaya/issues/95","labels_url":"https://api.github.com/repos/chihaya/chihaya/issues/95/labels{/name}","comments_url":"https://api.github.com/repos/chihaya/chihaya/issues/95/comments","events_url":"https://api.github.com/repos/chihaya/chihaya/issues/95/events","html_url":"https://github.com/chihaya/chihaya/issues/95","id":113216652,"number":95,"title":"`(*Announce)ClientID() string` is hard to understand","user":{"login":"mrd0ll4r","id":15063379,"avatar_url":"https://avatars.githubusercontent.com/u/15063379?v=3","gravatar_id":"","url":"https://api.github.com/users/mrd0ll4r","html_url":"https://github.com/mrd0ll4r","followers_url":"https://api.github.com/users/mrd0ll4r/followers","following_url":"https://api.github.com/users/mrd0ll4r/following{/other_user}","gists_url":"https://api.github.com/users/mrd0ll4r/gists{/gist_id}","starred_url":"https://api.github.com/users/mrd0ll4r/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrd0ll4r/subscriptions","organizations_url":"https://api.github.com/users/mrd0ll4r/orgs","repos_url":"https://api.github.com/users/mrd0ll4r/repos","events_url":"https://api.github.com/users/mrd0ll4r/events{/privacy}","received_events_url":"https://api.github.com/users/mrd0ll4r/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-10-25T09:59:24Z","updated_at":"2015-10-25T19:36:45Z","closed_at":null,"body":"This might just be a documentation issue, but: `(*Announce)ClientID() string` (in [tracker/models/models.go:170](https://github.com/chihaya/chihaya/blob/master/tracker/models/models.go#L178)) is very hard to understand without further explanation or examples.\r\n\r\nI have later found the examples in the tests, that shed some light on the issue. However, after reading [this wiki article](https://wiki.theory.org/BitTorrentSpecification#peer_id) I'm not so sure anymore: The `peer_id` is client-chosen and there are no guidelines for generating it, it must only be 20 bytes long, right?  \r\nIf that's the case, the method documentation is wrong, or should at least elaborate further, for example that the string returned is not guaranteed to identify the client software or something like that..."},"comment":{"url":"https://api.github.com/repos/chihaya/chihaya/issues/comments/150961546","html_url":"https://github.com/chihaya/chihaya/issues/95#issuecomment-150961546","issue_url":"https://api.github.com/repos/chihaya/chihaya/issues/95","id":150961546,"user":{"login":"jzelinskie","id":343539,"avatar_url":"https://avatars.githubusercontent.com/u/343539?v=3","gravatar_id":"","url":"https://api.github.com/users/jzelinskie","html_url":"https://github.com/jzelinskie","followers_url":"https://api.github.com/users/jzelinskie/followers","following_url":"https://api.github.com/users/jzelinskie/following{/other_user}","gists_url":"https://api.github.com/users/jzelinskie/gists{/gist_id}","starred_url":"https://api.github.com/users/jzelinskie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzelinskie/subscriptions","organizations_url":"https://api.github.com/users/jzelinskie/orgs","repos_url":"https://api.github.com/users/jzelinskie/repos","events_url":"https://api.github.com/users/jzelinskie/events{/privacy}","received_events_url":"https://api.github.com/users/jzelinskie/received_events","type":"User","site_admin":false},"created_at":"2015-10-25T19:36:45Z","updated_at":"2015-10-25T19:36:45Z","body":"To my understanding ClientIDs, are essentially the wild wild west. @pushrax originally wrote that code for parsing it and has a lot of experience with seeing all of the popular client IDs in the wild. I'll await his response."}}