NewCustomizedConn: create connection with customized server settings
(conn net.Conn, serverConf *Server, p CredentialProvider, h Handler)
| 80 | |
| 81 | // NewCustomizedConn: create connection with customized server settings |
| 82 | func NewCustomizedConn(conn net.Conn, serverConf *Server, p CredentialProvider, h Handler) (*Conn, error) { |
| 83 | var packetConn *packet.Conn |
| 84 | if serverConf.tlsConfig != nil { |
| 85 | packetConn = packet.NewTLSConn(conn) |
| 86 | } else { |
| 87 | packetConn = packet.NewConn(conn) |
| 88 | } |
| 89 | |
| 90 | salt, _ := RandomBuf(20) |
| 91 | c := &Conn{ |
| 92 | Conn: packetConn, |
| 93 | serverConf: serverConf, |
| 94 | credentialProvider: p, |
| 95 | h: h, |
| 96 | connectionID: atomic.AddUint32(&baseConnID, 1), |
| 97 | stmts: make(map[uint32]*Stmt), |
| 98 | salt: salt, |
| 99 | } |
| 100 | c.closed.Set(false) |
| 101 | |
| 102 | if err := c.handshake(); err != nil { |
| 103 | c.Close() |
| 104 | return nil, err |
| 105 | } |
| 106 | |
| 107 | return c, nil |
| 108 | } |
| 109 | |
| 110 | // NewClientConn: create connection with customized server settings |
| 111 | func NewClientConn(conn net.Conn, serverConf *Server, p CredentialProvider, hp Handler) (*Conn, error) { |