2
0
Files
pgx/conn.go
T
2013-03-30 17:56:31 -05:00

40 lines
673 B
Go

package pqx
import (
"encoding/binary"
"net"
)
type conn struct {
conn net.Conn
}
func Connect(options map[string] string) (c *conn, err error) {
c = new(conn)
var present bool
var socket string
if socket, present = options["socket"]; present {
c.conn, err = net.Dial("unix", socket)
if err != nil { return nil, err }
}
// conn, err := net.Dial("tcp", "localhost:5432")
msg := newStartupMessage()
msg.options["user"] = "jack"
msg.WriteTo(c.conn)
buf := make([]byte, 512)
num, _ := c.conn.Read(buf)
println(string(buf[0:1]))
println(binary.BigEndian.Uint32(buf[1:5]))
println(binary.BigEndian.Uint32(buf[5:9]))
println(num)
return c, nil
}