Skip to content

Commit

Permalink
Showing 4 changed files with 23 additions and 1 deletion.
5 changes: 5 additions & 0 deletions core/commands/swarm.go
Original file line number Diff line number Diff line change
@@ -360,6 +360,11 @@ The output of this command is JSON.

percentage, _ := req.Options[swarmUsedResourcesPercentageName].(int)
scope := req.Arguments[0]

if percentage != 0 && scope != "all" {
return fmt.Errorf("%q can only be used when scope is %q", swarmUsedResourcesPercentageName, "all")
}

result, err := libp2p.NetStat(node.ResourceManager, scope, percentage)
if err != nil {
return err
2 changes: 1 addition & 1 deletion core/node/libp2p/rcmgr.go
Original file line number Diff line number Diff line change
@@ -309,7 +309,7 @@ func abovePercentage(v1, v2, percentage int) bool {
return false
}

return int((v1/v2))*100 >= percentage
return int((float64(v1)/float64(v2))*100) >= percentage
}

func NetLimitAll(mgr network.ResourceManager) (*NetStatOut, error) {
12 changes: 12 additions & 0 deletions core/node/libp2p/rcmgr_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package libp2p

import (
"testing"

"github.com/stretchr/testify/require"
)

func TestPercentage(t *testing.T) {
require.True(t, abovePercentage(10, 100, 10))
require.True(t, abovePercentage(100, 100, 99))
}
5 changes: 5 additions & 0 deletions test/sharness/t0139-swarm-rcmgr.sh
Original file line number Diff line number Diff line change
@@ -62,6 +62,11 @@ test_expect_success 'ResourceMgr enabled: swarm limit reset' '
test_cmp reset actual
'

test_expect_success 'Swarm stats system with filter should fail' '
test_expect_code 1 ipfs swarm stats system --min-used-limit-perc=99 2> actual &&
test_should_contain "Error: \"min-used-limit-perc\" can only be used when scope is \"all\"" actual
'

test_expect_success 'ResourceMgr enabled: swarm limit reset on map values' '
ipfs swarm limit peer:12D3KooWL7i1T9VSPeF8AgQApbyM51GNKZsYPvNvL347aMDmvNzG --reset --enc=json 2> reset &&
ipfs swarm limit peer:12D3KooWL7i1T9VSPeF8AgQApbyM51GNKZsYPvNvL347aMDmvNzG --enc=json 2> actual &&

0 comments on commit d16e63a

Please sign in to comment.