peermgr

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 3, 2020 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	V1 = "1.0"
)

Variables

This section is empty.

Functions

func AddrToPeerInfo

func AddrToPeerInfo(multiAddr string) (*peer.AddrInfo, error)

AddrToPeerInfo transfer addr to PeerInfo addr example: "/ip4/104.236.76.40/tcp/4001/ipfs/QmSoLV4Bbm51jM9C4gDYZQ9Cy3U6aXMJDAbzgu2fzaDs64"

func Message

func Message(typ peerproto.Message_Type, ok bool, data []byte) *peerproto.Message

Types

type ConnectHandler

type ConnectHandler func(string)

type MessageHandler

type MessageHandler func(network.Stream, *peermgr.Message)

type PeerManager

type PeerManager interface {
	// Start
	Start() error

	// Stop
	Stop() error

	// AsyncSend sends message to peer with peer info.
	AsyncSend(string, *peermgr.Message) error

	// SendWithStream sends message using existed stream
	SendWithStream(network.Stream, *peermgr.Message) error

	// Send sends message waiting response
	Send(string, *peermgr.Message) (*peermgr.Message, error)

	// Peers
	Peers() map[string]*peer.AddrInfo

	// RegisterMsgHandler
	RegisterMsgHandler(peermgr.Message_Type, MessageHandler) error

	// RegisterMultiMsgHandler
	RegisterMultiMsgHandler([]peermgr.Message_Type, MessageHandler) error

	// RegisterConnectHandler
	RegisterConnectHandler(ConnectHandler) error
}

type Swarm

type Swarm struct {
	// contains filtered or unexported fields
}

func New

func New(config *repo.Config, privKey crypto.PrivateKey) (*Swarm, error)

func (*Swarm) AsyncSend

func (swarm *Swarm) AsyncSend(id string, msg *peermgr.Message) error

func (*Swarm) Peers

func (swarm *Swarm) Peers() map[string]*peer.AddrInfo

func (*Swarm) RegisterConnectHandler

func (swarm *Swarm) RegisterConnectHandler(handler ConnectHandler) error

func (*Swarm) RegisterMsgHandler

func (swarm *Swarm) RegisterMsgHandler(messageType peermgr.Message_Type, handler MessageHandler) error

func (*Swarm) RegisterMultiMsgHandler

func (swarm *Swarm) RegisterMultiMsgHandler(messageTypes []peermgr.Message_Type, handler MessageHandler) error

func (*Swarm) Send

func (swarm *Swarm) Send(id string, msg *peermgr.Message) (*peermgr.Message, error)

func (*Swarm) SendWithStream

func (swarm *Swarm) SendWithStream(s network2.Stream, msg *peermgr.Message) error

func (*Swarm) Start

func (swarm *Swarm) Start() error

func (*Swarm) Stop

func (swarm *Swarm) Stop() error

Directories

Path Synopsis
Package mock_peermgr is a generated GoMock package.
Package mock_peermgr is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL