peermgr

package
v1.10.1 Latest Latest
Warning

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

Go to latest
Published: Jun 8, 2021 License: GPL-3.0 Imports: 17 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 DHTManager added in v1.4.0

type DHTManager interface {
	// Search for peers who are able to provide a given key
	FindProviders(id string) (string, error)

	// Provide adds the given cid to the content routing system. If 'true' is
	// passed, it also announces it, otherwise it is just kept in the local
	// accounting of which objects are being provided.
	Provider(string, bool) error
}

type MessageHandler

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

type PeerManager

type PeerManager interface {
	DHTManager

	// Start
	Start() error

	// Stop
	Stop() error

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

	Connect(info *peer.AddrInfo) (string, error)

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

	// AsyncSendWithStream sends message using existed stream
	AsyncSendWithStream(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, nodePrivKey crypto.PrivateKey, privKey crypto.PrivateKey, providers uint64, logger logrus.FieldLogger) (*Swarm, error)

func (*Swarm) AsyncSend

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

func (*Swarm) AsyncSendWithStream added in v1.4.0

func (swarm *Swarm) AsyncSendWithStream(s network.Stream, msg *peermgr.Message) error

func (*Swarm) Connect added in v1.4.0

func (swarm *Swarm) Connect(addrInfo *peer.AddrInfo) (string, error)

func (*Swarm) ConnectedPeerIDs added in v1.4.0

func (swarm *Swarm) ConnectedPeerIDs() []string

ConnectedPeerIDs gets connected PeerIDs TODO

func (*Swarm) FindProviders added in v1.4.0

func (swarm *Swarm) FindProviders(id string) (string, error)

func (*Swarm) Peers

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

func (*Swarm) Provider added in v1.4.0

func (swarm *Swarm) Provider(key string, passed bool) error

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 network.Stream, msg *peermgr.Message) (*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