add missing shard.go
This commit is contained in:
parent
94dc345d8e
commit
2062fc663f
|
@ -0,0 +1,59 @@
|
||||||
|
package wakuv2
|
||||||
|
|
||||||
|
import (
|
||||||
|
wakuproto "github.com/waku-org/go-waku/waku/v2/protocol"
|
||||||
|
|
||||||
|
"github.com/status-im/status-go/protocol/protobuf"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Shard struct {
|
||||||
|
Cluster uint16 `json:"cluster"`
|
||||||
|
Index uint16 `json:"index"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func FromProtobuff(p *protobuf.Shard) *Shard {
|
||||||
|
if p == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return &Shard{
|
||||||
|
Cluster: uint16(p.Cluster),
|
||||||
|
Index: uint16(p.Index),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Shard) Protobuffer() *protobuf.Shard {
|
||||||
|
if s == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return &protobuf.Shard{
|
||||||
|
Cluster: int32(s.Cluster),
|
||||||
|
Index: int32(s.Index),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func (s *Shard) PubsubTopic() string {
|
||||||
|
if s != nil {
|
||||||
|
return wakuproto.NewStaticShardingPubsubTopic(s.Cluster, s.Index).String()
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
const MainStatusShardCluster = 16
|
||||||
|
const DefaultShardIndex = 32
|
||||||
|
const NonProtectedShardIndex = 64
|
||||||
|
|
||||||
|
func DefaultShardPubsubTopic() string {
|
||||||
|
return wakuproto.NewStaticShardingPubsubTopic(MainStatusShardCluster, DefaultShardIndex).String()
|
||||||
|
}
|
||||||
|
|
||||||
|
func DefaultNonProtectedShard() *Shard {
|
||||||
|
return &Shard{
|
||||||
|
Cluster: MainStatusShardCluster,
|
||||||
|
Index: NonProtectedShardIndex,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func DefaultNonProtectedPubsubTopic() string {
|
||||||
|
return DefaultNonProtectedShard().PubsubTopic()
|
||||||
|
}
|
Loading…
Reference in New Issue