@cryptotaxi247 / kubo / commits / 7d0c46aff

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 +}