|  | @@ -1,10 +1,10 @@
 | 
											
												
													
														|  |  package buf
 |  |  package buf
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  import (
 |  |  import (
 | 
											
												
													
														|  | -	"os"
 |  | 
 | 
											
												
													
														|  |  	"runtime"
 |  |  	"runtime"
 | 
											
												
													
														|  | -	"strconv"
 |  | 
 | 
											
												
													
														|  |  	"sync"
 |  |  	"sync"
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +	"v2ray.com/core/common/platform"
 | 
											
												
													
														|  |  )
 |  |  )
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  // Pool provides functionality to generate and recycle buffers on demand.
 |  |  // Pool provides functionality to generate and recycle buffers on demand.
 | 
											
										
											
												
													
														|  | @@ -99,7 +99,7 @@ var (
 | 
											
												
													
														|  |  	mediumPool Pool
 |  |  	mediumPool Pool
 | 
											
												
													
														|  |  )
 |  |  )
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -func getDefaultPoolSize() uint32 {
 |  | 
 | 
											
												
													
														|  | 
 |  | +func getDefaultPoolSize() int {
 | 
											
												
													
														|  |  	switch runtime.GOARCH {
 |  |  	switch runtime.GOARCH {
 | 
											
												
													
														|  |  	case "amd64", "386":
 |  |  	case "amd64", "386":
 | 
											
												
													
														|  |  		return 20
 |  |  		return 20
 | 
											
										
											
												
													
														|  | @@ -109,14 +109,11 @@ func getDefaultPoolSize() uint32 {
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  func init() {
 |  |  func init() {
 | 
											
												
													
														|  | -	size := getDefaultPoolSize()
 |  | 
 | 
											
												
													
														|  | -	sizeStr := os.Getenv(poolSizeEnvKey)
 |  | 
 | 
											
												
													
														|  | -	if len(sizeStr) > 0 {
 |  | 
 | 
											
												
													
														|  | -		customSize, err := strconv.ParseUint(sizeStr, 10, 32)
 |  | 
 | 
											
												
													
														|  | -		if err == nil {
 |  | 
 | 
											
												
													
														|  | -			size = uint32(customSize)
 |  | 
 | 
											
												
													
														|  | -		}
 |  | 
 | 
											
												
													
														|  | 
 |  | +	f := platform.EnvFlag{
 | 
											
												
													
														|  | 
 |  | +		Name:    poolSizeEnvKey,
 | 
											
												
													
														|  | 
 |  | +		AltName: platform.NormalizeEnvName(poolSizeEnvKey),
 | 
											
												
													
														|  |  	}
 |  |  	}
 | 
											
												
													
														|  | 
 |  | +	size := f.GetValueAsInt(getDefaultPoolSize())
 | 
											
												
													
														|  |  	if size > 0 {
 |  |  	if size > 0 {
 | 
											
												
													
														|  |  		totalByteSize := size * 1024 * 1024
 |  |  		totalByteSize := size * 1024 * 1024
 | 
											
												
													
														|  |  		mediumPool = NewBufferPool(Size, totalByteSize/Size)
 |  |  		mediumPool = NewBufferPool(Size, totalByteSize/Size)
 |