Просмотр исходного кода

Remove redundant copyBufferPool from relay

tags/v2.1.11^2^2
9seconds 2 месяцев назад
Родитель
Сommit
ee524abdb5
2 измененных файлов: 3 добавлений и 23 удалений
  1. 0
    19
      mtglib/internal/relay/pools.go
  2. 3
    4
      mtglib/internal/relay/relay.go

+ 0
- 19
mtglib/internal/relay/pools.go Просмотреть файл

1
-package relay
2
-
3
-import "sync"
4
-
5
-var copyBufferPool = sync.Pool{
6
-	New: func() any {
7
-		rv := make([]byte, copyBufferSize)
8
-
9
-		return &rv
10
-	},
11
-}
12
-
13
-func acquireCopyBuffer() *[]byte {
14
-	return copyBufferPool.Get().(*[]byte) //nolint: forcetypeassert
15
-}
16
-
17
-func releaseCopyBuffer(buf *[]byte) {
18
-	copyBufferPool.Put(buf)
19
-}

+ 3
- 4
mtglib/internal/relay/relay.go Просмотреть файл

35
 }
35
 }
36
 
36
 
37
 func pump(log Logger, src, dst essentials.Conn, direction string) {
37
 func pump(log Logger, src, dst essentials.Conn, direction string) {
38
+	var buf [copyBufferSize]byte
39
+
38
 	defer src.CloseRead()  //nolint: errcheck
40
 	defer src.CloseRead()  //nolint: errcheck
39
 	defer dst.CloseWrite() //nolint: errcheck
41
 	defer dst.CloseWrite() //nolint: errcheck
40
 
42
 
41
-	copyBuffer := acquireCopyBuffer()
42
-	defer releaseCopyBuffer(copyBuffer)
43
-
44
-	n, err := io.CopyBuffer(src, dst, *copyBuffer)
43
+	n, err := io.CopyBuffer(src, dst, buf[:])
45
 
44
 
46
 	switch {
45
 	switch {
47
 	case err == nil:
46
 	case err == nil:

Загрузка…
Отмена
Сохранить