mirror of https://github.com/v2ray/v2ray-core
refine default cache size
parent
fc9b833d3c
commit
e5d3ec420e
21
policy.go
21
policy.go
|
@ -2,6 +2,7 @@ package core
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"runtime"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
@ -67,17 +68,27 @@ type PolicyManager interface {
|
||||||
ForSystem() SystemPolicy
|
ForSystem() SystemPolicy
|
||||||
}
|
}
|
||||||
|
|
||||||
var defaultBufferSize int32 = 2 * 1024 * 1024
|
var defaultBufferSize int32
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
const key = "v2ray.ray.buffer.size"
|
const key = "v2ray.ray.buffer.size"
|
||||||
|
const defaultValue = -17
|
||||||
size := platform.EnvFlag{
|
size := platform.EnvFlag{
|
||||||
Name: key,
|
Name: key,
|
||||||
AltName: platform.NormalizeEnvName(key),
|
AltName: platform.NormalizeEnvName(key),
|
||||||
}.GetValueAsInt(10)
|
}.GetValueAsInt(defaultValue)
|
||||||
if size == 0 {
|
|
||||||
defaultBufferSize = -1
|
switch size {
|
||||||
} else {
|
case 0:
|
||||||
|
defaultBufferSize = -1 // For pipe to use unlimited size
|
||||||
|
case defaultValue: // Env flag not defined. Use default values per CPU-arch.
|
||||||
|
switch runtime.GOARCH {
|
||||||
|
case "arm", "mips", "mipsle", "mips64", "mips64le":
|
||||||
|
defaultBufferSize = 0 // Disable pipe caching for low-end devices
|
||||||
|
default:
|
||||||
|
defaultBufferSize = 2 * 1024 * 1024
|
||||||
|
}
|
||||||
|
default:
|
||||||
defaultBufferSize = int32(size) * 1024 * 1024
|
defaultBufferSize = int32(size) * 1024 * 1024
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue