}
func (cl *Client) requestPendingMetadata(t *torrent, c *connection) {
+ if t.haveInfo() {
+ return
+ }
var pending []int
for index, have := range t.MetaDataHave {
if !have {
}
func (cl *Client) setMetaData(t *torrent, md MetaData) (err error) {
+ t.Info = md
t.Data, err = mmapTorrentData(md, cl.DataDir)
if err != nil {
return
if err != nil {
return
}
+ me.mu.Lock()
+ defer me.mu.Unlock()
err = me.addTorrent(t)
if err != nil {
return