Documentation
¶
Index ¶
- func Step(b *wait.Backoff) time.Duration
- type DSConnManager
- func (m *DSConnManager) AddToManager(mgr ctrl.Manager) error
- func (m *DSConnManager) Client() dsclient.Client
- func (m *DSConnManager) Start(ctx context.Context) error
- func (m *DSConnManager) State() DSState
- func (m *DSConnManager) Stop()
- func (m *DSConnManager) Subscribe(buffer int) (<-chan Event, func())
- func (m *DSConnManager) WaitForUp(ctx context.Context) error
- type DSState
- type Event
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type DSConnManager ¶
type DSConnManager struct {
// contains filtered or unexported fields
}
DSConnManager maintains a long-lived client connection to a dataserver and broadcasts Up/Down transitions to subscribers.
IMPORTANT: reconcilers should never create dsclient.Client directly. They should use this manager (or a higher-level runtime manager).
func New ¶
func New(ctx context.Context, cfg *dsclient.Config) *DSConnManager
New creates a DSConnManager for a single dataserver address/config.
func (*DSConnManager) AddToManager ¶
func (m *DSConnManager) AddToManager(mgr ctrl.Manager) error
AddToManager registers the manager as a controller-runtime Runnable. Call this from main during startup.
func (*DSConnManager) Client ¶
func (m *DSConnManager) Client() dsclient.Client
Client returns the current client if Up; otherwise nil.
func (*DSConnManager) Start ¶
func (m *DSConnManager) Start(ctx context.Context) error
Start implements controller-runtime Runnable.
func (*DSConnManager) State ¶
func (m *DSConnManager) State() DSState
State returns the last known DS state.
func (*DSConnManager) Stop ¶
func (m *DSConnManager) Stop()
Stop can be used if you run it outside controller-runtime.
func (*DSConnManager) Subscribe ¶
func (m *DSConnManager) Subscribe(buffer int) (<-chan Event, func())
Subscribe returns a channel that receives state transition events. Caller should call the returned cancel function to unsubscribe.