forked from TrueCloudLab/frostfs-node
[#132] Add cleanup table in netmap processor
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This commit is contained in:
parent
9b97e95f82
commit
0c42db2c3c
3 changed files with 16 additions and 12 deletions
|
@ -4,7 +4,7 @@ import (
|
|||
"encoding/hex"
|
||||
"sync"
|
||||
|
||||
"github.com/nspcc-dev/neofs-api-go/v2/netmap/grpc"
|
||||
netmap "github.com/nspcc-dev/neofs-api-go/v2/netmap/grpc"
|
||||
)
|
||||
|
||||
type (
|
||||
|
|
|
@ -4,20 +4,20 @@ import (
|
|||
"encoding/hex"
|
||||
"testing"
|
||||
|
||||
"github.com/nspcc-dev/neofs-api-go/v2/netmap/grpc"
|
||||
netmap "github.com/nspcc-dev/neofs-api-go/v2/netmap/grpc"
|
||||
crypto "github.com/nspcc-dev/neofs-crypto"
|
||||
"github.com/nspcc-dev/neofs-node/pkg/util/test"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestCleanupTable(t *testing.T) {
|
||||
var infos = []netmap.NodeInfo{
|
||||
infos := []netmap.NodeInfo{
|
||||
{PublicKey: crypto.MarshalPublicKey(&test.DecodeKey(1).PublicKey)},
|
||||
{PublicKey: crypto.MarshalPublicKey(&test.DecodeKey(2).PublicKey)},
|
||||
{PublicKey: crypto.MarshalPublicKey(&test.DecodeKey(3).PublicKey)},
|
||||
}
|
||||
|
||||
var mapInfos = map[string]struct{}{
|
||||
mapInfos := map[string]struct{}{
|
||||
hex.EncodeToString(infos[0].PublicKey): {},
|
||||
hex.EncodeToString(infos[1].PublicKey): {},
|
||||
hex.EncodeToString(infos[2].PublicKey): {},
|
||||
|
@ -110,6 +110,5 @@ func TestCleanupTable(t *testing.T) {
|
|||
}))
|
||||
require.EqualValues(t, len(infos)-1, cnt)
|
||||
})
|
||||
|
||||
})
|
||||
}
|
||||
|
|
|
@ -38,17 +38,21 @@ type (
|
|||
epochState EpochState
|
||||
activeState ActiveState
|
||||
morphClient *client.Client
|
||||
|
||||
netmapSnapshot cleanupTable
|
||||
}
|
||||
|
||||
// Params of the processor constructor.
|
||||
Params struct {
|
||||
Log *zap.Logger
|
||||
PoolSize int
|
||||
NetmapContract util.Uint160
|
||||
EpochTimer EpochTimerReseter
|
||||
MorphClient *client.Client
|
||||
EpochState EpochState
|
||||
ActiveState ActiveState
|
||||
Log *zap.Logger
|
||||
PoolSize int
|
||||
NetmapContract util.Uint160
|
||||
EpochTimer EpochTimerReseter
|
||||
MorphClient *client.Client
|
||||
EpochState EpochState
|
||||
ActiveState ActiveState
|
||||
CleanupEnabled bool
|
||||
CleanupThreshold uint64 // in epochs
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -88,6 +92,7 @@ func New(p *Params) (*Processor, error) {
|
|||
epochState: p.EpochState,
|
||||
activeState: p.ActiveState,
|
||||
morphClient: p.MorphClient,
|
||||
netmapSnapshot: newCleanupTable(p.CleanupEnabled, p.CleanupThreshold),
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue