dnssrv

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jun 7, 2016 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Lookup

type Lookup func(service, proto, name string) (cname string, addrs []*net.SRV, err error)

Lookup is a function that resolves a DNS SRV record to multiple addresses. It has the same signature as net.LookupSRV.

type Subscriber

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

Subscriber yields endpoints taken from the named DNS SRV record. The name is resolved on a fixed schedule. Priorities and weights are ignored.

func NewSubscriber

func NewSubscriber(
	name string,
	ttl time.Duration,
	factory sd.Factory,
	logger log.Logger,
) *Subscriber

NewSubscriber returns a DNS SRV subscriber.

func NewSubscriberDetailed

func NewSubscriberDetailed(
	name string,
	refresh *time.Ticker,
	lookup Lookup,
	factory sd.Factory,
	logger log.Logger,
) *Subscriber

NewSubscriberDetailed is the same as NewSubscriber, but allows users to provide an explicit lookup refresh ticker instead of a TTL, and specify the lookup function instead of using net.LookupSRV.

func (*Subscriber) Endpoints

func (p *Subscriber) Endpoints() ([]endpoint.Endpoint, error)

Endpoints implements the Subscriber interface.

func (*Subscriber) Stop

func (p *Subscriber) Stop()

Stop terminates the Subscriber.

Jump to

Keyboard shortcuts

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