code: func (w *asyncUdsWriter) write(data []byte) (int, error) {
  	conn, err := w.ensureConnection()
  	if err != nil {
  		return 0, err
  	}
  
  	conn.SetWriteDeadline(time.Now().Add(w.writeTimeout))
  	n, err := conn.Write(data)
  
  	if e, isNetworkErr := err.(net.Error); !isNetworkErr || !e.Temporary() {
  		// err is not temporary, Statsd server disconnected, retry connecting at next packet
  		w.unsetConnection()
  		return 0, e
  	}
  
  	return n, err
  }
docs: // write writes the given data to the UDS.
  // This function is **not** thread safe.