req.go
func (c Req) Write(w *bufio.Writer) (err error) {
	if _, err = w.WriteString("REQ "); err != nil {
		err = errors.Wrap(err, "writing REQ command")
		return
	}

	if _, err = c.MessageID.WriteTo(w); err != nil {
		err = errors.Wrap(err, "writing REQ message ID")
		return
	}

	if err = w.WriteByte(' '); err != nil {
		err = errors.Wrap(err, "writing REQ command")
		return
	}

	if _, err = w.WriteString(strconv.FormatUint(uint64(c.Timeout/time.Millisecond), 10)); err != nil {
		err = errors.Wrap(err, "writing REQ timeout")
		return
	}

	if err = w.WriteByte('\n'); err != nil {
		err = errors.Wrap(err, "writing REQ command")
		return
	}

	return
}
func (c Req) Write(w *bufio.Writer) (err error) {
	if _, err = w.WriteString("REQ "); err != nil {
		err = errors.Wrap(err, "writing REQ command")
		return
	}

	if _, err = c.MessageID.WriteTo(w); err != nil {
		err = errors.Wrap(err, "writing REQ message ID")
		return
	}

	if err = w.WriteByte(' '); err != nil {
		err = errors.Wrap(err, "writing REQ command")
		return
	}

	if _, err = w.WriteString(strconv.FormatUint(uint64(c.Timeout/time.Millisecond), 10)); err != nil {
		err = errors.Wrap(err, "writing REQ timeout")
		return
	}

	if err = w.WriteByte('\n'); err != nil {
		err = errors.Wrap(err, "writing REQ command")
		return
	}

	return
}
// Write serializes the command to the given buffered output, satisfies the
// Command interface.