multicast

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2024 License: LGPL-3.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GetMulticastInterfacesRequest

type GetMulticastInterfacesRequest struct{}

type GetMulticastInterfacesResponse

type GetMulticastInterfacesResponse struct {
	Interfaces []string `json:"multicast_interfaces"`
}

type GroupAddress

type GroupAddress string

type Multicast

type Multicast struct {
	phony.Inbox
	// contains filtered or unexported fields
}

Multicast represents the multicast advertisement and discovery mechanism used by Yggdrasil to find peers on the same subnet. When a beacon is received on a configured multicast interface, Yggdrasil will attempt to peer with that node automatically.

func New

func New(core *core.Core, log *log.Logger, opts ...SetupOption) (*Multicast, error)

Start starts the multicast interface. This launches goroutines which will listen for multicast beacons from other hosts and will advertise multicast beacons out to the network.

func (*Multicast) AnnounceNow

func (m *Multicast) AnnounceNow()

func (*Multicast) Interfaces

func (m *Multicast) Interfaces() map[string]net.Interface

func (*Multicast) IsStarted

func (m *Multicast) IsStarted() bool

IsStarted returns true if the module has been started.

func (*Multicast) SetupAdminHandlers

func (m *Multicast) SetupAdminHandlers(a *admin.AdminSocket)

func (*Multicast) Stop

func (m *Multicast) Stop() error

Stop stops the multicast module.

type MulticastInterface

type MulticastInterface struct {
	Regex    *regexp.Regexp
	Beacon   bool
	Listen   bool
	Port     uint16
	Priority uint8
	Password string
}

type SetupOption

type SetupOption interface {
	// contains filtered or unexported methods
}

Jump to

Keyboard shortcuts

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