routedhost

package
v6.0.13+incompatible Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2018 License: MIT Imports: 13 Imported by: 0

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() ifconnmgr.ConnManager

func (*RoutedHost) Connect

func (rh *RoutedHost) Connect(ctx context.Context, pi pstore.PeerInfo) 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) ID

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

func (*RoutedHost) Mux

func (rh *RoutedHost) Mux() *msmux.MultistreamMuxer

func (*RoutedHost) Network

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

func (*RoutedHost) NewStream

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

func (*RoutedHost) Peerstore

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

func (*RoutedHost) RemoveStreamHandler

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

func (*RoutedHost) SetStreamHandler

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

func (*RoutedHost) SetStreamHandlerMatch

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

type Routing

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

Jump to

Keyboard shortcuts

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