Documentation ¶
Index ¶
- Constants
- type FloodSubRouter
- func (fs *FloodSubRouter) AddPeer(peer.ID, protocol.ID)
- func (fs *FloodSubRouter) Attach(p *PubSub)
- func (fs *FloodSubRouter) HandleRPC(rpc *RPC)
- func (fs *FloodSubRouter) Protocols() []protocol.ID
- func (fs *FloodSubRouter) Publish(from peer.ID, msg *pb.Message)
- func (fs *FloodSubRouter) RemovePeer(peer.ID)
- type Message
- type Option
- type PubSub
- func (p *PubSub) GetTopics() []string
- func (p *PubSub) ListPeers(topic string) []peer.ID
- func (p *PubSub) Publish(topic string, data []byte) error
- func (p *PubSub) RegisterTopicValidator(topic string, val Validator, opts ...ValidatorOpt) error
- func (p *PubSub) Subscribe(topic string, opts ...SubOpt) (*Subscription, error)
- func (p *PubSub) SubscribeByTopicDescriptor(td *pb.TopicDescriptor, opts ...SubOpt) (*Subscription, error)
- type PubSubNotif
- func (p *PubSubNotif) ClosedStream(n inet.Network, s inet.Stream)
- func (p *PubSubNotif) Connected(n inet.Network, c inet.Conn)
- func (p *PubSubNotif) Disconnected(n inet.Network, c inet.Conn)
- func (p *PubSubNotif) Listen(n inet.Network, _ ma.Multiaddr)
- func (p *PubSubNotif) ListenClose(n inet.Network, _ ma.Multiaddr)
- func (p *PubSubNotif) OpenedStream(n inet.Network, s inet.Stream)
- type PubSubRouter
- type RPC
- type SubOpt
- type Subscription
- type Validator
- type ValidatorOpt
Constants ¶
View Source
const (
FloodSubID = protocol.ID("/floodsub/1.0.0")
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FloodSubRouter ¶
type FloodSubRouter struct {
// contains filtered or unexported fields
}
func (*FloodSubRouter) Attach ¶
func (fs *FloodSubRouter) Attach(p *PubSub)
func (*FloodSubRouter) HandleRPC ¶
func (fs *FloodSubRouter) HandleRPC(rpc *RPC)
func (*FloodSubRouter) Protocols ¶
func (fs *FloodSubRouter) Protocols() []protocol.ID
func (*FloodSubRouter) RemovePeer ¶
func (fs *FloodSubRouter) RemovePeer(peer.ID)
type Option ¶
func WithValidateThrottle ¶
type PubSub ¶
type PubSub struct {
// contains filtered or unexported fields
}
func NewFloodSub ¶
NewFloodSub returns a new PubSub object using the FloodSubRouter
func (*PubSub) RegisterTopicValidator ¶
func (p *PubSub) RegisterTopicValidator(topic string, val Validator, opts ...ValidatorOpt) error
RegisterTopicValidator registers a validator for topic
func (*PubSub) Subscribe ¶
func (p *PubSub) Subscribe(topic string, opts ...SubOpt) (*Subscription, error)
Subscribe returns a new Subscription for the given topic
func (*PubSub) SubscribeByTopicDescriptor ¶
func (p *PubSub) SubscribeByTopicDescriptor(td *pb.TopicDescriptor, opts ...SubOpt) (*Subscription, error)
SubscribeByTopicDescriptor lets you subscribe a topic using a pb.TopicDescriptor
type PubSubNotif ¶
type PubSubNotif PubSub
func (*PubSubNotif) ClosedStream ¶
func (p *PubSubNotif) ClosedStream(n inet.Network, s inet.Stream)
func (*PubSubNotif) Disconnected ¶
func (p *PubSubNotif) Disconnected(n inet.Network, c inet.Conn)
func (*PubSubNotif) ListenClose ¶
func (p *PubSubNotif) ListenClose(n inet.Network, _ ma.Multiaddr)
func (*PubSubNotif) OpenedStream ¶
func (p *PubSubNotif) OpenedStream(n inet.Network, s inet.Stream)
type PubSubRouter ¶
type PubSubRouter interface { Protocols() []protocol.ID Attach(*PubSub) AddPeer(peer.ID, protocol.ID) RemovePeer(peer.ID) HandleRPC(*RPC) Publish(peer.ID, *pb.Message) }
PubSubRouter is the message router component of PubSub
type SubOpt ¶
type SubOpt func(sub *Subscription) error
type Subscription ¶
type Subscription struct {
// contains filtered or unexported fields
}
func (*Subscription) Cancel ¶
func (sub *Subscription) Cancel()
func (*Subscription) Topic ¶
func (sub *Subscription) Topic() string
type ValidatorOpt ¶
type ValidatorOpt func(addVal *addValReq) error
ValidatorOpt is an option for RegisterTopicValidator
func WithValidatorConcurrency ¶
func WithValidatorConcurrency(n int) ValidatorOpt
WithValidatorConcurrency is an option that sets topic validator throttle
func WithValidatorTimeout ¶
func WithValidatorTimeout(timeout time.Duration) ValidatorOpt
WithValidatorTimeout is an option that sets the topic validator timeout
Click to show internal directories.
Click to hide internal directories.