code: func (t *UDPv4) pending(id enode.ID, ip net.IP, ptype byte, callback replyMatchFunc) <-chan error {
  	ch := make(chan error, 1)
  	p := &replyMatcher{from: id, ip: ip, ptype: ptype, callback: callback, errc: ch}
  	select {
  	case t.addReplyMatcher <- p:
  		// loop will handle it
  	case <-t.closing:
  		ch <- errClosed
  	}
  	return ch
  }
docs: // pending adds a reply matcher to the pending reply queue.
  // see the documentation of type replyMatcher for a detailed explanation.