stdnet

package
v0.0.0-...-93fed14 Latest Latest
Warning

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

Go to latest
Published: Jan 5, 2024 License: BSD-3-Clause Imports: 7 Imported by: 0

Documentation

Overview

Package stdnet is an extension of the pion's stdnet. With it the list of the interface can come from external source. More info: https://github.com/golang/go/issues/40569

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InterfaceFilter

func InterfaceFilter(disallowList []string) func(string) bool

InterfaceFilter is a function passed to ICE Agent to filter out not allowed interfaces to avoid building tunnel over them.

Types

type ExternalIFaceDiscover

type ExternalIFaceDiscover interface {
	// IFaces return with the description of the interfaces
	IFaces() (string, error)
}

ExternalIFaceDiscover provide an option for external services (mobile) to collect network interface information

type Net

type Net struct {
	stdnet.Net
	// contains filtered or unexported fields
}

Net is an implementation of the net.Net interface based on functions of the standard net package.

func NewNet

func NewNet(disallowList []string) (*Net, error)

NewNet creates a new StdNet instance.

func NewNetWithDiscover

func NewNetWithDiscover(iFaceDiscover ExternalIFaceDiscover, disallowList []string) (*Net, error)

NewNetWithDiscover creates a new StdNet instance.

func (*Net) InterfaceByIndex

func (n *Net) InterfaceByIndex(index int) (*transport.Interface, error)

InterfaceByIndex returns the interface specified by index.

On Solaris, it returns one of the logical network interfaces sharing the logical data link; for more precision use InterfaceByName.

func (*Net) InterfaceByName

func (n *Net) InterfaceByName(name string) (*transport.Interface, error)

InterfaceByName returns the interface specified by name.

func (*Net) Interfaces

func (n *Net) Interfaces() ([]*transport.Interface, error)

Interfaces returns a slice of interfaces which are available on the system

func (*Net) UpdateInterfaces

func (n *Net) UpdateInterfaces() (err error)

UpdateInterfaces updates the internal list of network interfaces and associated addresses filtering them by name. The interfaces are discovered by an external iFaceDiscover function or by a default discoverer if the external one wasn't specified.

Jump to

Keyboard shortcuts

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