You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							24 lines
						
					
					
						
							445 B
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							24 lines
						
					
					
						
							445 B
						
					
					
				
								package operation
							 | 
						|
								
							 | 
						|
								import (
							 | 
						|
									"github.com/valyala/bytebufferpool"
							 | 
						|
									"sync/atomic"
							 | 
						|
								)
							 | 
						|
								
							 | 
						|
								var bufferCounter int64
							 | 
						|
								
							 | 
						|
								func GetBuffer() *bytebufferpool.ByteBuffer {
							 | 
						|
									defer func() {
							 | 
						|
										atomic.AddInt64(&bufferCounter, 1)
							 | 
						|
										// println("+", bufferCounter)
							 | 
						|
									}()
							 | 
						|
									return bytebufferpool.Get()
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func PutBuffer(buf *bytebufferpool.ByteBuffer) {
							 | 
						|
									defer func() {
							 | 
						|
										atomic.AddInt64(&bufferCounter, -1)
							 | 
						|
										// println("-", bufferCounter)
							 | 
						|
									}()
							 | 
						|
									bytebufferpool.Put(buf)
							 | 
						|
								}
							 |