func (c Client) writeMessage(m irc.Message) error {
	buf, err := m.Encode()
	if err != nil && err != irc.ErrTruncated {
		return fmt.Errorf("unable to encode message: %s", err)
	}

	if err := c.conn.SetWriteDeadline(time.Now().Add(
		c.writeTimeout)); err != nil {
		return fmt.Errorf("unable to set deadline: %s", err)
	}

	sz, err := c.rw.WriteString(buf)
	if err != nil {
		return err
	}

	if sz != len(buf) {
		return fmt.Errorf("short write")
	}

	if err := c.rw.Flush(); err != nil {
		return fmt.Errorf("flush error: %s", err)
	}

	log.Printf("client %s: sent: %s", c.nick, strings.TrimRight(buf, "\r\n"))
	return nil
}
func (c Client) writeMessage(m irc.Message) error {
	buf, err := m.Encode()
	if err != nil && err != irc.ErrTruncated {
		return fmt.Errorf("unable to encode message: %s", err)
	}

	if err := c.conn.SetWriteDeadline(time.Now().Add(
		c.writeTimeout)); err != nil {
		return fmt.Errorf("unable to set deadline: %s", err)
	}

	sz, err := c.rw.WriteString(buf)
	if err != nil {
		return err
	}

	if sz != len(buf) {
		return fmt.Errorf("short write")
	}

	if err := c.rw.Flush(); err != nil {
		return fmt.Errorf("flush error: %s", err)
	}

	log.Printf("client %s: sent: %s", c.nick, strings.TrimRight(buf, "\r\n"))
	return nil
}
func ( c Client ) writeMessage ( m irc . Message ) error { buf , err := m . Encode ( ) if err != nil && err != irc . ErrTruncated { return fmt . Errorf ( " " , err ) } if err := c . conn . SetWriteDeadline ( time . Now ( ) . Add ( c . writeTimeout ) ) ; err != nil { return fmt . Errorf ( " " , err ) } sz , err := c . rw . WriteString ( buf ) if err != nil { return err } if sz != len ( buf ) { return fmt . Errorf ( " " ) } if err := c . rw . Flush ( ) ; err != nil { return fmt . Errorf ( " " , err ) } log . Printf ( " " , c . nick , strings . TrimRight ( buf , " \r \n " ) ) return nil }
// writeMessage writes an IRC message to the connection.
writeMessage writes an IRC message to the connection .