Browse Source

framer: remove framerpool

see #1103, #1116
Chris Bannister 7 years ago
parent
commit
8ffb77e530
4 changed files with 4 additions and 21 deletions
  1. 0 7
      conn.go
  2. 0 2
      events.go
  3. 4 11
      frame.go
  4. 0 1
      session.go

+ 0 - 7
conn.go

@@ -371,8 +371,6 @@ func (c *Conn) authenticateHandshake(ctx context.Context, authFrame *authenticat
 		default:
 			return fmt.Errorf("unknown frame response during authentication: %v", v)
 		}
-
-		framerPool.Put(framer)
 	}
 }
 
@@ -479,7 +477,6 @@ func (c *Conn) recv() error {
 		if err := framer.readFrame(&head); err != nil {
 			return err
 		}
-		defer framerPool.Put(framer)
 
 		frame, err := framer.parseFrame()
 		if err != nil {
@@ -747,8 +744,6 @@ func (c *Conn) prepareStatement(ctx context.Context, stmt string, tracer Tracer)
 		c.session.stmtsLRU.remove(stmtCacheKey)
 	}
 
-	framerPool.Put(framer)
-
 	return flight.preparedStatment, flight.err
 }
 
@@ -1046,7 +1041,6 @@ func (c *Conn) executeBatch(batch *Batch) *Iter {
 
 	switch x := resp.(type) {
 	case *resultVoidFrame:
-		framerPool.Put(framer)
 		return &Iter{}
 	case *RequestErrUnprepared:
 		stmt, found := stmts[string(x.StatementId)]
@@ -1056,7 +1050,6 @@ func (c *Conn) executeBatch(batch *Batch) *Iter {
 		}
 
 		if found {
-			framerPool.Put(framer)
 			return c.executeBatch(batch)
 		} else {
 			return &Iter{err: x, framer: framer}

+ 0 - 2
events.go

@@ -80,8 +80,6 @@ func (e *eventDebouncer) debounce(frame frame) {
 }
 
 func (s *Session) handleEvent(framer *framer) {
-	defer framerPool.Put(framer)
-
 	frame, err := framer.parseFrame()
 	if err != nil {
 		// TODO: logger

+ 4 - 11
frame.go

@@ -12,7 +12,6 @@ import (
 	"net"
 	"runtime"
 	"strings"
-	"sync"
 	"time"
 )
 
@@ -346,15 +345,6 @@ func (f frameHeader) Header() frameHeader {
 
 const defaultBufSize = 128
 
-var framerPool = sync.Pool{
-	New: func() interface{} {
-		return &framer{
-			wbuf:       make([]byte, defaultBufSize),
-			readBuffer: make([]byte, defaultBufSize),
-		}
-	},
-}
-
 // a framer is responsible for reading, writing and parsing frames on a single stream
 type framer struct {
 	r io.Reader
@@ -380,7 +370,10 @@ type framer struct {
 }
 
 func newFramer(r io.Reader, w io.Writer, compressor Compressor, version byte) *framer {
-	f := framerPool.Get().(*framer)
+	f := &framer{
+		wbuf:       make([]byte, defaultBufSize),
+		readBuffer: make([]byte, defaultBufSize),
+	}
 	var flags byte
 	if compressor != nil {
 		flags |= flagCompress

+ 0 - 1
session.go

@@ -1311,7 +1311,6 @@ func (iter *Iter) Warnings() []string {
 func (iter *Iter) Close() error {
 	if atomic.CompareAndSwapInt32(&iter.closed, 0, 1) {
 		if iter.framer != nil {
-			framerPool.Put(iter.framer)
 			iter.framer = nil
 		}
 	}