Partially migrate to writeBuf

scan-io
Jack Christensen 2014-07-04 13:27:24 -05:00
parent b25aea5c52
commit 9ab8fb4877
1 changed files with 11 additions and 12 deletions

23
conn.go
View File

@ -243,7 +243,11 @@ func (c *Conn) Close() (err error) {
return nil
}
err = c.txMsg('X', c.getBuf())
wbuf := newWriteBuf(c.wbuf[0:0], 'X')
wbuf.closeMsg()
_, err = c.conn.Write(wbuf.buf)
c.die(errors.New("Closed"))
c.logger.Info("Closed connection")
return err
@ -1190,18 +1194,13 @@ func (c *Conn) txMsg(identifier byte, buf *bytes.Buffer) (err error) {
}
func (c *Conn) txPasswordMessage(password string) (err error) {
buf := c.getBuf()
wbuf := newWriteBuf(c.wbuf[0:0], 'p')
wbuf.WriteCString(password)
wbuf.closeMsg()
_, err = buf.WriteString(password)
if err != nil {
return
}
buf.WriteByte(0)
if err != nil {
return
}
err = c.txMsg('p', buf)
return
_, err = c.conn.Write(wbuf.buf)
return err
}
// Gets the shared connection buffer. Since bytes.Buffer never releases memory from