return
}
-
func (cl *Client) PeerID() PeerID {
return cl.peerID
}
// Stops the client. All connections to peers are closed and all activity will
// come to a halt.
func (cl *Client) Close() {
- var closeGroup sync.WaitGroup //WaitGroup for any concurrent cleanup to complete before returning.
- defer closeGroup.Wait() //defer is LIFO. We want to Wait() after cl.unlock()
+ var closeGroup sync.WaitGroup // WaitGroup for any concurrent cleanup to complete before returning.
+ defer closeGroup.Wait() // defer is LIFO. We want to Wait() after cl.unlock()
cl.lock()
defer cl.unlock()
cl.closed.Set()
return t.MergeSpec(TorrentSpecFromMetaInfo(&mi))
}
-
func (cl *Client) dropTorrent(infoHash metainfo.Hash) (err error) {
t, ok := cl.torrents[infoHash]
if !ok {
copyExact := func(dst []byte, src []byte) {
if dstLen, srcLen := uint64(len(dst)), uint64(len(src)); dstLen != srcLen {
- panic("dst len " + strconv.FormatUint(dstLen,10) + " != src len " + strconv.FormatUint(srcLen,10))
+ panic("dst len " + strconv.FormatUint(dstLen, 10) + " != src len " + strconv.FormatUint(srcLen, 10))
}
copy(dst, src)
}