resolver

package
v0.8.6 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2019 License: Apache-2.0, BSD-3-Clause-Clear Imports: 6 Imported by: 0

Documentation

Overview

Package resolver provides interface (and default implementation) to retrieve public network address.

Currently there are two default implementation of resolvers:

  • Using STUN server
  • No-op resolver which returns socket listen address

Usage:

var conn net.PacketConn

// get connection anywhere

r := resolver.NewStunResolver("")  // Using default stun server
publicAddr, _ := r.Resolve(conn)

fmt.Println(publicAddr)

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PublicAddressResolver

type PublicAddressResolver interface {

	// Resolve returns public network address from given connection.
	Resolve(conn net.PacketConn) (string, error)
}

PublicAddressResolver is network address resolver interface.

func NewExactResolver

func NewExactResolver() PublicAddressResolver

NewExactResolver returns new no-op resolver.

func NewFixedAddressResolver added in v0.8.4

func NewFixedAddressResolver(publicAddress string) PublicAddressResolver

func NewStunResolver

func NewStunResolver(stunAddress string) PublicAddressResolver

NewStunResolver returns new STUN network address resolver.

Jump to

Keyboard shortcuts

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