# Functions
Address sets router service address.
Strategy sets route advertising strategy.
Client to call router service.
DefaultOptions returns router default options.
Gateway sets network gateway.
Id sets Router Id.
Network sets router network.
NewQuery creates new query and returns it.
NewRouter creates new Router and returns it.
QueryAddress sets service to query.
QueryGateway sets gateway address to query.
QueryNetwork sets network name to query.
QueryRouter sets router id to query.
QueryService sets service to query.
Registry sets the local registry.
WatchService sets what service routes to watch Service is the microservice name.
# Constants
AdvertiseAll advertises all routes to the network.
AdvertiseBest advertises optimal routes to the network.
AdvertiseLocal will only advertise the local routes.
AdvertiseNone will not advertise any routes.
Advertising means the router is advertising.
Announce is advertised when the router announces itself.
Create is emitted when a new route has been created.
Delete is emitted when an existing route has been deleted.
Error means the router has encountered error.
RouteUpdate advertises route updates.
Running means the router is up and running.
Solicitation indicates routes were solicited.
Stopped means the router has been stopped.
Update is emitted when an existing route has been updated.
# Variables
AdvertiseEventsTick is time interval in which the router advertises route updates.
AdvertiseTableTick is time interval in which router advertises all routes found in routing table.
AdvertRecover is advert recovery threshold.
AdvertSuppress is advert suppression threshold.
DefaultAddress is default router address.
DefaultAdvertTTL is default advertisement TTL.
DefaultLink is default network link.
DefaultLocalMetric is default route cost for a local route.
DefaultName is default router service name.
DefaultNetwork is default stack network.
DefaultRouter is default network router.
ErrDuplicateRoute is returned when the route already exists.
ErrRouteNotFound is returned when no route was found in the routing table.
ErrWatcherStopped is returned when routing table watcher has been stopped.
MaxSuppressTime defines time after which the suppressed advert is deleted.
Penalty for routes processed multiple times.
PenaltyDecay is a coefficient which controls the speed the advert penalty decays.
PenaltyHalfLife is the time the advert penalty decays to half its value.
# Structs
Advert contains a list of events advertised by the router to the network.
Event is returned by a call to Next on the watcher.
Options are router options.
QueryOptions are routing table query options.
Route is network route.
Status is router status.
WatchOptions are table watcher options TODO: expand the options to watch based on other criteria.
# Type aliases
AdvertType is route advertisement type.
EventType defines routing table event.
Option used by the router.
QueryOption sets routing table query options.
StatusCode defines router status.
Strategy is route advertisement strategy.
WatchOption is used to define what routes to watch in the table.