code: func (hc *UDPChecker) Check(timeout time.Duration) *Result {
  	msg := fmt.Sprintf("UDP check to %s", hc.addr())
  	start := time.Now()
  	if timeout == time.Duration(0) {
  		timeout = defaultUDPTimeout
  	}
  	deadline := start.Add(timeout)
  
  	conn, err := dialUDP(hc.network(), hc.addr(), timeout, hc.Mark)
  	if err != nil {
  		msg = fmt.Sprintf("%s; failed to create socket", msg)
  		return complete(start, msg, false, err)
  	}
  	defer conn.Close()
  
  	err = conn.SetDeadline(deadline)
  	if err != nil {
  		msg = fmt.Sprintf("%s; failed to set deadline", msg)
  		return complete(start, msg, false, err)
  	}
  
  	if _, err = conn.Write([]byte(hc.Send)); err != nil {
  		msg = fmt.Sprintf("%s; failed to send request", msg)
  		return complete(start, msg, false, err)
  	}
  
  	buf := make([]byte, len(hc.Receive))
  	n, _, err := conn.ReadFrom(buf)
  	if err != nil {
  		msg = fmt.Sprintf("%s; failed to read response", msg)
  		return complete(start, msg, false, err)
  	}
  
  	got := string(buf[0:n])
  	if got != hc.Receive {
  		msg = fmt.Sprintf("%s; unexpected response - %q", msg, got)
  		return complete(start, msg, false, err)
  	}
  	return complete(start, msg, true, err)
  }
docs: // Check executes a UDP healthcheck.