Browse Source

Use stack allocation instead of heap one

tags/v1.0.4^2
9seconds 6 years ago
parent
commit
f0d2cd494a
1 changed files with 2 additions and 12 deletions
  1. 2
    12
      proxy/direct.go

+ 2
- 12
proxy/direct.go View File

13
 
13
 
14
 const directPipeBufferSize = 1024
14
 const directPipeBufferSize = 1024
15
 
15
 
16
-var (
17
-	directPipePool = sync.Pool{
18
-		New: func() interface{} {
19
-			rv := make([]byte, directPipeBufferSize)
20
-			return &rv
21
-		},
22
-	}
23
-)
24
-
25
 func directConnection(request *protocol.TelegramRequest) error {
16
 func directConnection(request *protocol.TelegramRequest) error {
26
 	telegramConnRaw, err := obfuscated2.TelegramProtocol(request)
17
 	telegramConnRaw, err := obfuscated2.TelegramProtocol(request)
27
 	if err != nil {
18
 	if err != nil {
51
 		wg.Done()
42
 		wg.Done()
52
 	}()
43
 	}()
53
 
44
 
54
-	buf := directPipePool.Get().(*[]byte)
55
-	defer directPipePool.Put(buf)
45
+	buf := [directPipeBufferSize]byte{}
56
 
46
 
57
-	if _, err := io.CopyBuffer(dst, src, *buf); err != nil {
47
+	if _, err := io.CopyBuffer(dst, src, buf[:]); err != nil {
58
 		logger.Debugw("Cannot pump sockets", "error", err)
48
 		logger.Debugw("Cannot pump sockets", "error", err)
59
 	}
49
 	}
60
 }
50
 }

Loading…
Cancel
Save