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