tclient/writer.go

35 lines
657 B
Go

package tclient
import (
"time"
"io"
"github.com/pkg/errors"
)
// Write is the same as WriteRaw, but adds CRLF to given string
func (c *TelnetClient) Write(bytes []byte) error {
bytes = append(bytes, '\r', '\n')
return c.WriteRaw(bytes)
}
// WriteRaw writes raw bytes to tcp connection
func (c *TelnetClient) WriteRaw(bytes []byte) error {
var wrote int
var err error
err = c.conn.SetWriteDeadline(time.Now().Add(time.Second * time.Duration(c.Timeout)))
if err != nil {
return err
}
n, err := c.conn.Write(bytes)
wrote += n
if err != nil && err != io.ErrShortWrite {
return errors.Wrap(err, "Failed to WriteRaw()")
}
return nil
}