p2p

package
v0.10.1 Latest Latest
Warning

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

Go to latest
Published: Jun 5, 2024 License: Apache-2.0 Imports: 37 Imported by: 0

Documentation

Index

Constants

View Source
const PeXProtocol = "/hyprspace/pex/0.0.1"
View Source
const Protocol = "/hyprspace/0.0.1"

Protocol is a descriptor for the Hyprspace P2P Protocol.

Variables

This section is empty.

Functions

func CreateNode

func CreateNode(ctx context.Context, privateKey crypto.PrivKey, listenAddreses []ma.Multiaddr, handler network.StreamHandler, acl relay.ACLFilter, gater connmgr.ConnectionGater, vpnPeers []config.Peer) (node host.Host, dhtOut *dht.IpfsDHT, err error)

CreateNode creates an internal Libp2p nodes and returns it and it's DHT Discovery service.

func Discover

func Discover(ctx context.Context, h host.Host, dht *dht.IpfsDHT, peers []config.Peer)

Discover starts up a DHT based discovery system finding and adding nodes with the same rendezvous string.

func NewClosedCircuitRelayFilter added in v0.8.6

func NewClosedCircuitRelayFilter(allowedPeers []config.Peer) relay.ACLFilter

func NewPeXStreamHandler added in v0.8.6

func NewPeXStreamHandler(host host.Host, cfg *config.Config) func(network.Stream)

func PeXService added in v0.8.6

func PeXService(ctx context.Context, host host.Host, cfg *config.Config)

func Rediscover added in v0.8.6

func Rediscover()

func RequestPeX added in v0.8.6

func RequestPeX(ctx context.Context, host host.Host, peers []peer.ID) (addrInfos []peer.AddrInfo, e error)

func RouteMetricsService added in v0.8.6

func RouteMetricsService(ctx context.Context, host host.Host, cfg *config.Config)

Types

type ClosedCircuitRelayFilter added in v0.8.6

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

func (ClosedCircuitRelayFilter) AllowConnect added in v0.8.6

func (ccr ClosedCircuitRelayFilter) AllowConnect(src peer.ID, srcAddr multiaddr.Multiaddr, dest peer.ID) bool

func (ClosedCircuitRelayFilter) AllowReserve added in v0.8.6

func (ccr ClosedCircuitRelayFilter) AllowReserve(p peer.ID, a multiaddr.Multiaddr) bool

type ParallelRouting added in v0.8.6

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

func (ParallelRouting) FindPeer added in v0.8.6

func (pr ParallelRouting) FindPeer(ctx context.Context, p peer.ID) (peer.AddrInfo, error)

type PeXRouting added in v0.8.6

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

func (PeXRouting) FindPeer added in v0.8.6

func (pexr PeXRouting) FindPeer(ctx context.Context, targetPeer peer.ID) (peer.AddrInfo, error)

type RecursionGater added in v0.8.6

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

func NewRecursionGater added in v0.8.6

func NewRecursionGater(config *config.Config) RecursionGater

func (RecursionGater) InterceptAccept added in v0.8.6

func (rg RecursionGater) InterceptAccept(addrs network.ConnMultiaddrs) bool

func (RecursionGater) InterceptAddrDial added in v0.8.6

func (rg RecursionGater) InterceptAddrDial(pid peer.ID, addr ma.Multiaddr) bool

func (RecursionGater) InterceptPeerDial added in v0.8.6

func (rg RecursionGater) InterceptPeerDial(pid peer.ID) bool

func (RecursionGater) InterceptSecured added in v0.8.6

func (rg RecursionGater) InterceptSecured(direction network.Direction, pid peer.ID, addrs network.ConnMultiaddrs) bool

func (RecursionGater) InterceptUpgraded added in v0.8.6

func (rg RecursionGater) InterceptUpgraded(network.Conn) (bool, control.DisconnectReason)

Jump to

Keyboard shortcuts

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