code: func (s *sharedUDPConn) ReadFromUDP(b []byte) (n int, addr *net.UDPAddr, err error) {
  	packet, ok := <-s.unhandled
  	if !ok {
  		return 0, nil, errors.New("Connection was closed")
  	}
  	l := len(packet.Data)
  	if l > len(b) {
  		l = len(b)
  	}
  	copy(b[:l], packet.Data[:l])
  	return l, packet.Addr, nil
  }
docs: // ReadFromUDP implements discv5.conn