mirror of https://github.com/status-im/go-waku.git
feat: add clusterID and shards config to c-bindings (#1228)
This commit is contained in:
parent
12abd041d6
commit
244bb176eb
|
@ -285,6 +285,8 @@ interface JsonConfig {
|
|||
storeRetentionTimeSeconds?: number;
|
||||
websocket?: Websocket;
|
||||
dns4DomainName?: string;
|
||||
clusterID: int;
|
||||
shards: Array<uint16>;
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -31,6 +31,8 @@ type WakuConfig struct {
|
|||
RetentionTimeSeconds *int `json:"storeRetentionTimeSeconds,omitempty"`
|
||||
DNS4DomainName string `json:"dns4DomainName,omitempty"`
|
||||
Websockets *WebsocketConfig `json:"websockets,omitempty"`
|
||||
ClusterID int `json:"clusterID"`
|
||||
Shards []uint16 `json:"shards"`
|
||||
}
|
||||
|
||||
// WebsocketConfig contains all the settings required to setup websocket support in waku
|
||||
|
|
|
@ -164,6 +164,8 @@ func NewNode(instance *WakuInstance, configJSON string) error {
|
|||
node.WithPrivateKey(prvKey),
|
||||
node.WithHostAddress(hostAddr),
|
||||
node.WithKeepAlive(10*time.Second, time.Duration(*config.KeepAliveInterval)*time.Second),
|
||||
node.WithClusterID(uint16(config.ClusterID)),
|
||||
node.WithShards(config.Shards),
|
||||
}
|
||||
|
||||
if *config.EnableRelay {
|
||||
|
|
|
@ -319,6 +319,11 @@ func WithPrivateKey(privKey *ecdsa.PrivateKey) WakuNodeOption {
|
|||
func WithClusterID(clusterID uint16) WakuNodeOption {
|
||||
return func(params *WakuNodeParameters) error {
|
||||
params.clusterID = clusterID
|
||||
if params.shards == nil {
|
||||
var pshards protocol.RelayShards
|
||||
pshards.ClusterID = params.clusterID
|
||||
params.shards = &pshards
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
@ -340,6 +345,18 @@ func WithPubSubTopics(topics []string) WakuNodeOption {
|
|||
}
|
||||
}
|
||||
|
||||
func WithShards(shards []uint16) WakuNodeOption {
|
||||
return func(params *WakuNodeParameters) error {
|
||||
if params.shards == nil {
|
||||
var pshards protocol.RelayShards
|
||||
pshards.ClusterID = params.clusterID
|
||||
params.shards = &pshards
|
||||
}
|
||||
params.shards.ShardIDs = shards
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
// WithMaxConnectionsPerIP sets the max number of allowed peers from the same IP
|
||||
func WithMaxConnectionsPerIP(limit int) WakuNodeOption {
|
||||
return func(params *WakuNodeParameters) error {
|
||||
|
|
Loading…
Reference in New Issue