func (uts *utMetadatas) correct() *utMetadata {
	uts.mu.Lock()
	defer uts.mu.Unlock()
	if uts.correctSize == 0 {
		return nil
	}
	if ut, ok := uts.m[uts.correctSize]; ok {
		return ut
	}
	return nil
}
returns the correct utmetadata structure or nil if we haven't verified info dict
package torrent
import (
	"errors"
	"math/rand"
	"net"
	"sync"
)
type utMetadatas struct {
	mu sync.Mutex  
	m  map[int64]*utMetadata
	correctSize int64
}
func (uts *utMetadatas) reset(infoSize int) {
	uts.mu.Lock()
	defer uts.mu.Unlock()
	if ut, ok := uts.m[int64(infoSize)]; ok {
		ut.reset()
		return
	}
	panic("reset")
}
func (uts *utMetadatas) metadata(infoSize int64) *utMetadata {
	uts.mu.Lock()
	defer uts.mu.Unlock()
	if ut, ok := uts.m[int64(infoSize)]; ok {
		return ut
	}
	panic("metadata")
}