ceremonyclient/node/p2p/pubsub.go

39 lines
1.1 KiB
Go
Raw Normal View History

2023-09-03 23:47:09 +00:00
package p2p
import (
2024-03-21 07:14:45 +00:00
"context"
"github.com/multiformats/go-multiaddr"
"google.golang.org/grpc"
2023-09-03 23:47:09 +00:00
"source.quilibrium.com/quilibrium/monorepo/go-libp2p-blossomsub/pb"
"source.quilibrium.com/quilibrium/monorepo/node/protobufs"
2023-09-03 23:47:09 +00:00
)
type PubSub interface {
PublishToBitmask(bitmask []byte, data []byte) error
Publish(data []byte) error
Subscribe(bitmask []byte, handler func(message *pb.Message) error, raw bool)
Unsubscribe(bitmask []byte, raw bool)
GetPeerID() []byte
2023-09-25 02:43:35 +00:00
GetBitmaskPeers() map[string][]string
2023-09-10 23:29:17 +00:00
GetPeerstoreCount() int
GetNetworkPeersCount() int
2023-09-03 23:47:09 +00:00
GetRandomPeer(bitmask []byte) ([]byte, error)
2024-03-21 07:14:45 +00:00
GetMultiaddrOfPeerStream(
ctx context.Context,
peerId []byte,
) <-chan multiaddr.Multiaddr
2023-09-29 07:55:09 +00:00
GetMultiaddrOfPeer(peerId []byte) string
StartDirectChannelListener(
key []byte,
2024-03-01 07:12:31 +00:00
purpose string,
server *grpc.Server,
) error
2024-03-01 07:12:31 +00:00
GetDirectChannel(peerId []byte, purpose string) (*grpc.ClientConn, error)
GetNetworkInfo() *protobufs.NetworkInfoResponse
2023-11-01 03:45:20 +00:00
SignMessage(msg []byte) ([]byte, error)
GetPublicKey() []byte
GetPeerScore(peerId []byte) int64
SetPeerScore(peerId []byte, score int64)
2023-09-03 23:47:09 +00:00
}