Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var IntervalSize time.Duration
Functions ¶
This section is empty.
Types ¶
type CtrlChannel ¶ added in v0.21.0
type HeartbeatOptions ¶ added in v0.22.41
type HeartbeatOptions struct {
channel.HeartbeatOptions
UnresponsiveAfter time.Duration
}
func NewDefaultHeartbeatOptions ¶ added in v0.22.41
func NewDefaultHeartbeatOptions() *HeartbeatOptions
func NewHeartbeatOptions ¶ added in v0.22.41
func NewHeartbeatOptions(options *channel.HeartbeatOptions) (*HeartbeatOptions, error)
type NetworkController ¶ added in v0.21.0
type NetworkControllers ¶ added in v0.21.0
type NetworkControllers interface {
Add(ch channel.Channel) (NetworkController, error)
GetAll() map[string]NetworkController
AnyCtrlChannel() channel.Channel
GetCtrlChannel(ctrlId string) channel.Channel
GetCtrlChannelByAddress(address string) (ctrlId string, ch channel.Channel)
DefaultRequestTimeout() time.Duration
ForEach(f func(ctrlId string, ch channel.Channel))
Close() error
CloseAndRemoveByAddress(address string) error
}
func NewNetworkControllers ¶ added in v0.21.0
func NewNetworkControllers(defaultRequestTimeout time.Duration, heartbeatOptions *HeartbeatOptions) NetworkControllers
type RouterEnv ¶
type RouterEnv interface {
GetNetworkControllers() NetworkControllers
GetRouterId() *identity.TokenId
GetDialerCfg() map[string]xgress.OptionsData
GetXlinkDialer() []xlink.Dialer
GetXrctrls() []Xrctrl
GetTraceHandler() *channel.TraceHandler
GetXlinkRegistry() xlink.Registry
GetCloseNotify() <-chan struct{}
GetMetricsRegistry() metrics.UsageRegistry
RenderJsonConfig() (string, error)
GetHeartbeatOptions() HeartbeatOptions
}
type Xrctrl ¶ added in v0.21.0
type Xrctrl interface {
config.Subconfig
channel.BindHandler
Enabled() bool
Run(env RouterEnv) error
NotifyOfReconnect(ch channel.Channel)
GetTraceDecoders() []channel.TraceMessageDecoder
}
An Xrctrl allows adding handlers to the router <-> controller connection on the router side. This means you can support additional message types/flows to extend the basic fabric functionality.
There is a corresponding Xctrl interface for extending communication on the controller side
Click to show internal directories.
Click to hide internal directories.