فهرست منبع

merged AUTHORS

Christoph Hack 12 سال پیش
والد
کامیت
295fea2e88
2فایلهای تغییر یافته به همراه5 افزوده شده و 1 حذف شده
  1. 1 0
      AUTHORS
  2. 4 1
      conn.go

+ 1 - 0
AUTHORS

@@ -12,3 +12,4 @@ Sasha Klizhentas <klizhentas@gmail.com>
 Konstantin Cherkasov <k.cherkasoff@gmail.com>
 Ben Hood <0x6e6562@gmail.com>
 Pete Hopkins <phopkins@gmail.com>
+Chris Bannister <c.bannister@gmail.com>

+ 4 - 1
conn.go

@@ -5,6 +5,7 @@
 package gocql
 
 import (
+	"bufio"
 	"net"
 	"sync"
 	"sync/atomic"
@@ -41,6 +42,7 @@ type ConnConfig struct {
 // level API.
 type Conn struct {
 	conn    net.Conn
+	r       *bufio.Reader
 	timeout time.Duration
 
 	uniq  chan uint8
@@ -71,6 +73,7 @@ func Connect(addr string, cfg ConnConfig, cluster Cluster) (*Conn, error) {
 	}
 	c := &Conn{
 		conn:       conn,
+		r:          bufio.NewReader(conn),
 		uniq:       make(chan uint8, cfg.NumStreams),
 		calls:      make([]callReq, cfg.NumStreams),
 		prep:       make(map[string]*queryInfo),
@@ -141,7 +144,7 @@ func (c *Conn) recv() (frame, error) {
 	c.conn.SetReadDeadline(time.Now().Add(c.timeout))
 	n, last, pinged := 0, 0, false
 	for n < len(resp) {
-		nn, err := c.conn.Read(resp[n:])
+		nn, err := c.r.Read(resp[n:])
 		n += nn
 		if err != nil {
 			if nerr, ok := err.(net.Error); ok && nerr.Timeout() {