First commit. Outline of the default network.

This commit is contained in:
Milos Gajdos
2019-08-20 12:48:51 +01:00
parent 718780367e
commit 6beae23afd
9 changed files with 150 additions and 17 deletions

48
network/options.go Normal file
View File

@@ -0,0 +1,48 @@
package network
import (
"github.com/micro/go-micro/network/resolver"
"github.com/micro/go-micro/network/resolver/dns"
)
type Option func(*Options)
// Options configure network
type Options struct {
// Name of the network
Name string
// Address to bind to
Address string
// Resolver is network resolver
Resolver resolver.Resolver
}
// Name is the network name
func Name(n string) Option {
return func(o *Options) {
o.Name = n
}
}
// Address is the network address
func Address(a string) Option {
return func(o *Options) {
o.Address = a
}
}
// Resolver is the network resolver
func Resolver(r resolver.Resolver) Option {
return func(o *Options) {
o.Resolver = r
}
}
// DefaultOptions returns network default options
func DefaultOptions() Options {
return Options{
Name: DefaultName,
Address: DefaultAddress,
Resolver: &dns.Resolver{},
}
}