-
Notifications
You must be signed in to change notification settings - Fork 39
/
receiver_options.go
30 lines (26 loc) · 1.01 KB
/
receiver_options.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package receiver
import (
"github.com/bnb-chain/greenfield-storage-provider/base/gfspapp"
"github.com/bnb-chain/greenfield-storage-provider/base/gfspconfig"
coremodule "github.com/bnb-chain/greenfield-storage-provider/core/module"
)
const (
// DefaultReceivePieceParallelPerNode defines the default max receive piece parallel
// per receiver
DefaultReceivePieceParallelPerNode = 10240
)
func NewReceiveModular(app *gfspapp.GfSpBaseApp, cfg *gfspconfig.GfSpConfig) (coremodule.Modular, error) {
receiver := &ReceiveModular{baseApp: app}
if err := DefaultReceiverOptions(receiver, cfg); err != nil {
return nil, err
}
return receiver, nil
}
func DefaultReceiverOptions(receiver *ReceiveModular, cfg *gfspconfig.GfSpConfig) error {
if cfg.Parallel.ReceivePieceParallelPerNode == 0 {
cfg.Parallel.ReceivePieceParallelPerNode = DefaultReceivePieceParallelPerNode
}
receiver.receiveQueue = cfg.Customize.NewStrategyTQueueFunc(
receiver.Name()+"-receive-piece", cfg.Parallel.ReceivePieceParallelPerNode)
return nil
}