Documentation
¶
Overview ¶
Package network is for creating internetworks
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // NetworkChannel is the name of the tunnel channel for passing network messages NetworkChannel = "network" // ControlChannel is the name of the tunnel channel for passing control message ControlChannel = "control" // DefaultLink is default network link DefaultLink = "network" )
View Source
var ( // ErrMsgUnknown is returned when unknown message is attempted to send or receive ErrMsgUnknown = errors.New("unknown message") // ErrClientNotFound is returned when client for tunnel channel could not be found ErrClientNotFound = errors.New("client not found") )
View Source
var ( // DefaultName is default network name DefaultName = "go.micro" // DefaultAddress is default network address DefaultAddress = ":0" // ResolveTime defines time interval to periodically resolve network nodes ResolveTime = 1 * time.Minute // AnnounceTime defines time interval to periodically announce node neighbours AnnounceTime = 30 * time.Second // PruneTime defines time interval to periodically check nodes that need to be pruned // due to their not announcing their presence within this time interval PruneTime = 90 * time.Second )
Functions ¶
This section is empty.
Types ¶
type Network ¶
type Network interface {
// Node is network node
Node
// Options returns the network options
Options() Options
// Name of the network
Name() string
// Connect starts the resolver and tunnel server
Connect() error
// Nodes returns list of network nodes
Nodes() []Node
// Close stops the tunnel and resolving
Close() error
// Client is micro client
Client() client.Client
// Server is micro server
Server() server.Server
}
Network is micro network
func NewNetwork ¶ added in v1.10.0
NewNetwork returns a new network interface
type Node ¶
type Node interface {
// Id is node id
Id() string
// Address is node bind address
Address() string
// Neighbourhood is node neighbourhood
Neighbourhood() []Node
// Network is the network node is in
Network() Network
}
Node is network node
type Option ¶ added in v1.10.0
type Option func(*Options)
type Options ¶ added in v1.10.0
type Options struct {
// Id of the node
Id string
// Name of the network
Name string
// Address to bind to
Address string
// Nodes is a list of seed nodes
Nodes []string
// Tunnel is network tunnel
Tunnel tunnel.Tunnel
// Router is network router
Router router.Router
// Proxy is network proxy
Proxy proxy.Proxy
// Resolver is network resolver
Resolver resolver.Resolver
}
Options configure network
func DefaultOptions ¶ added in v1.10.0
func DefaultOptions() Options
DefaultOptions returns network default options
Directories
¶
| Path | Synopsis |
|---|---|
|
Package handler implements network RPC handler
|
Package handler implements network RPC handler |
|
Package resolver resolves network names to addresses
|
Package resolver resolves network names to addresses |
|
dns
Package dns resolves names to dns srv records
|
Package dns resolves names to dns srv records |
|
http
Package http resolves names to network addresses using a http request
|
Package http resolves names to network addresses using a http request |
|
registry
Package registry resolves names using the go-micro registry
|
Package registry resolves names using the go-micro registry |
|
static
Package static is a static resolver
|
Package static is a static resolver |
Click to show internal directories.
Click to hide internal directories.