introduce low memory flag
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
Jeromy committed
Nov 27, 2015 at 16:03 UTC
7d0c46affc536479e1c2aa7aaecc397372f904da
2 files changed
+24
exchange/bitswap/bitswap.go
+11
@@ -17,6 +17,7 @@ import (
17
bsnet "github.com/ipfs/go-ipfs/exchange/bitswap/network"
18
notifications "github.com/ipfs/go-ipfs/exchange/bitswap/notifications"
19
wantlist "github.com/ipfs/go-ipfs/exchange/bitswap/wantlist"
20
+ flags "github.com/ipfs/go-ipfs/flags"
21
"github.com/ipfs/go-ipfs/thirdparty/delay"
22
process "gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess"
23
procctx "gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess/context"
@@ -39,12 +40,22 @@ const (
40
sizeBatchRequestChan = 32
41
// kMaxPriority is the max priority as defined by the bitswap protocol
42
kMaxPriority = math.MaxInt32
43
+)
44
45
+var (
46
HasBlockBufferSize = 256
47
provideKeysBufferSize = 2048
48
provideWorkerMax = 512
49
)
50
51
+func init() {
52
+ if flags.LowMemMode {
53
+ HasBlockBufferSize = 64
54
+ provideKeysBufferSize = 512
55
+ provideWorkerMax = 16
56
+ }
57
+}
58
+
59
var rebroadcastDelay = delay.Fixed(time.Second * 10)
60
61
// New initializes a BitSwap instance that communicates over the provided
flags/flags.go
new
+13
@@ -0,0 +1,13 @@
1
+package flags
2
+
3
+import (
4
+ "os"
5
+)
6
+
7
+var LowMemMode bool
8
+
9
+func init() {
10
+ if os.Getenv("IPFS_LOW_MEM") != "" {
11
+ LowMemMode = true
12
+ }
13
+}