peermgr

package
v1.24.0 Latest Latest
Warning

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

Go to latest
Published: Jun 7, 2022 License: GPL-3.0 Imports: 20 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 DataToPayload added in v1.14.0

func DataToPayload(msg *pb.Message) *model.Payload

func Message

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

func MessageWithPayload added in v1.14.0

func MessageWithPayload(typ pb.Message_Type, pd *model.Payload) *pb.Message

Types

type DHTManager added in v1.4.0

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

	// Provider 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 PeerManager

type PeerManager interface {
	basicMgr.BasicPeerManager

	DHTManager

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

	// AsyncSendWithStream sends message using existed stream
	AsyncSendWithStream(network.Stream, *pb.Message) error

	// ConnectedPeerIDs find connectedPeers
	ConnectedPeerIDs() []string

	// RegisterMsgHandler
	RegisterMsgHandler(pb.Message_Type, func(network.Stream, *pb.Message)) error

	// RegisterMultiMsgHandler
	RegisterMultiMsgHandler([]pb.Message_Type, func(network.Stream, *pb.Message)) error

	// RegisterConnectHandler
	RegisterConnectHandler(func(string)) 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 basicMgr.KeyType, msg *pb.Message) error

func (*Swarm) AsyncSendWithStream added in v1.4.0

func (swarm *Swarm) AsyncSendWithStream(s network.Stream, msg *pb.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) CountConnectedPeers added in v1.14.0

func (swarm *Swarm) CountConnectedPeers() uint64

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

Peers maps remote peer's pierID to addrInfo, pierID indicate the appchainID for remote pier request from appchain

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 func(string)) error

func (*Swarm) RegisterMsgHandler

func (swarm *Swarm) RegisterMsgHandler(messageType pb.Message_Type, handler func(network.Stream, *pb.Message)) error

func (*Swarm) RegisterMultiMsgHandler

func (swarm *Swarm) RegisterMultiMsgHandler(messageTypes []pb.Message_Type, handler func(network.Stream, *pb.Message)) error

func (*Swarm) Send

func (swarm *Swarm) Send(id basicMgr.KeyType, msg *pb.Message) (*pb.Message, error)

func (*Swarm) SendWithStream

func (swarm *Swarm) SendWithStream(s network.Stream, msg *pb.Message) (*pb.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