routedhost

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Apr 6, 2021 License: MIT Imports: 14 Imported by: 1

Documentation

Index

Constants

View Source
const AddressTTL = time.Second * 10

AddressTTL is the expiry time for our addresses. We expire them quickly.

Variables

This section is empty.

Functions

This section is empty.

Types

type RoutedHost

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

RoutedHost is a p2p Host that includes a routing system. This allows the Host to find the addresses for peers when it does not have them.

func Wrap

func Wrap(h host.Host, r Routing) *RoutedHost

func (*RoutedHost) Addrs

func (rh *RoutedHost) Addrs() []ma.Multiaddr

func (*RoutedHost) Close

func (rh *RoutedHost) Close() error

func (*RoutedHost) ConnManager

func (rh *RoutedHost) ConnManager() connmgr.ConnManager

func (*RoutedHost) Connect

func (rh *RoutedHost) Connect(ctx context.Context, pi peer.AddrInfo) error

Connect ensures there is a connection between this host and the peer with given peer.ID. See (host.Host).Connect for more information.

RoutedHost's Connect differs in that if the host has no addresses for a given peer, it will use its routing system to try to find some.

func (*RoutedHost) EventBus

func (rh *RoutedHost) EventBus() event.Bus

func (*RoutedHost) ID

func (rh *RoutedHost) ID() peer.ID

func (*RoutedHost) Mux

func (rh *RoutedHost) Mux() protocol.Switch

func (*RoutedHost) Network

func (rh *RoutedHost) Network() network.Network

func (*RoutedHost) NewStream

func (rh *RoutedHost) NewStream(ctx context.Context, p peer.ID, pids ...protocol.ID) (network.Stream, error)

func (*RoutedHost) Peerstore

func (rh *RoutedHost) Peerstore() peerstore.Peerstore

func (*RoutedHost) RemoveStreamHandler

func (rh *RoutedHost) RemoveStreamHandler(pid protocol.ID)

func (*RoutedHost) SetStreamHandler

func (rh *RoutedHost) SetStreamHandler(pid protocol.ID, handler network.StreamHandler)

func (*RoutedHost) SetStreamHandlerMatch

func (rh *RoutedHost) SetStreamHandlerMatch(pid protocol.ID, m func(string) bool, handler network.StreamHandler)

type Routing

type Routing interface {
	FindPeer(context.Context, peer.ID) (peer.AddrInfo, error)
}

Jump to

Keyboard shortcuts

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