Documentation ¶
Index ¶
- type Option
- type Options
- type P2p
- func (p2p *P2p) AddReceiver(receiver interfaces.Receiver)
- func (p2p *P2p) BlacklistPeer(pbPeer *pb.Peer)
- func (p2p *P2p) Close()
- func (p2p *P2p) CloseStream(peerID peer.ID) error
- func (p2p *P2p) ConstructAddrInfo(id peer.ID, addrs []ma.Multiaddr) peer.AddrInfo
- func (p2p *P2p) CreateOptions() []libp2pConfig.Option
- func (p2p *P2p) GetAddrInfo() peer.AddrInfo
- func (p2p *P2p) GetAllPeers() []peer.ID
- func (p2p *P2p) GetHostID() peer.ID
- func (p2p *P2p) GetHostIDString() string
- func (p2p *P2p) InitHost(options ...libp2pConfig.Option)
- func (p2p *P2p) OpenStream(peerID peer.ID) (interfaces.Stream, error)
- func (p2p *P2p) Run()
- func (p2p *P2p) Send(message *pb.WireMessage)
- func (p2p *P2p) Subscribe(channel *pb.Channel) (context.Context, error)
- func (p2p *P2p) Unsubscribe(channel *pb.Channel)
- type Stream
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Option ¶
Option type that allows us to have many underlying types of options.
func Logger ¶
func Logger(logger interfaces.Logger) Option
Logger is an interface to a logger for the p2p package
func Receiver ¶
func Receiver(receiver interfaces.Receiver) Option
Receiver receives all data that other peers send on pubsub channels
func Storage ¶
func Storage(storage interfaces.Storage) Option
Storage is an interface to a data store for the p2p package
type Options ¶
type Options struct { Logger interfaces.Logger Storage interfaces.Storage }
Options for this p2p package, unrelated to libp2pConfig.Option
type P2p ¶
type P2p struct { Config interfaces.Config Logger interfaces.Logger Receiver interfaces.Receiver // contains filtered or unexported fields }
P2p stores all things required to converse with other peers in the Sprawl network and save data locally
func NewP2p ¶
func NewP2p(config interfaces.Config, privateKey crypto.PrivKey, publicKey crypto.PubKey, opts ...Option) (p2p *P2p)
NewP2p returns a P2p struct with an input channel
func (*P2p) AddReceiver ¶
func (p2p *P2p) AddReceiver(receiver interfaces.Receiver)
AddReceiver registers a data receiver function with p2p
func (*P2p) BlacklistPeer ¶
BlacklistPeer blacklists a peer from connecting to this node
func (*P2p) CloseStream ¶
CloseStream removes and closes a stream
func (*P2p) ConstructAddrInfo ¶
ConstructAddrInfo is used to construct peer.AddrInfo especially in tests
func (*P2p) CreateOptions ¶
func (p2p *P2p) CreateOptions() []libp2pConfig.Option
CreateOptions queries p2p.Config for any user-submitted options and assigns defaults
func (*P2p) GetAddrInfo ¶
GetAddrInfo uses p2p.ConstructAddrInfo to get this peer's own AddrInfo
func (*P2p) GetAllPeers ¶
GetAllPeers returns all peers that we are currently connected to
func (*P2p) GetHostIDString ¶
GetHostIDString returns the underlying libp2p host's peer.ID as a string
func (*P2p) InitHost ¶
func (p2p *P2p) InitHost(options ...libp2pConfig.Option)
InitHost creates a libp2p host with given options
func (*P2p) OpenStream ¶
OpenStream opens a stream with another Sprawl peer
func (*P2p) Send ¶
func (p2p *P2p) Send(message *pb.WireMessage)
Send queues a message for sending to other peers
func (*P2p) Unsubscribe ¶
Unsubscribe sends a quit signal to a channel goroutine