code: func sendRequest(w io.Writer, data []byte) {
  	loginfo := "sendRequest"
  	if w == nil {
  		panic(newSystemErrorf("<BUG> %s() - nil Writer", loginfo))
  	}
  
  	n, e := w.Write(data)
  	if e != nil {
  		panic(newSystemErrorf("%s() - connection Write wrote %d bytes only.", loginfo, n))
  	}
  
  	// doc isn't too clear but the underlying netFD may return n<len(data) AND
  	// e == nil, but that's precisely what we're checking.
  	// presumably we can try sending the remaining bytes but that is precisely
  	// what netFD.Write is doing (and it couldn't) so ...
  	if n < len(data) {
  		panic(newSystemErrorf("%s() - connection Write wrote %d bytes only.", loginfo, n))
  	}
  }
docs: // ----------------------------------------------------------------------------
  // request processing
  // ----------------------------------------------------------------------------
  // Either writes all the bytes or it fails and returns an error
  //
  // panics on error (with redis.Error)