module LaunchDarkly::Interfaces::DataSource
Mixin that defines the required methods of a data source implementation. This is the component that delivers feature flag data from LaunchDarkly
to the LDClient
by putting the data in the {FeatureStore}. It is expected to run concurrently on its own thread.
The client has its own standard implementation, which uses either a streaming connection or polling depending on your configuration. Normally you will not need to use another one except for testing purposes. {FileDataSource} provides one such test fixture.
Public Instance Methods
Checks whether the data source has finished initializing. Initialization is considered done once it has received one complete data set from LaunchDarkly
.
@return [Boolean] true if initialization is complete
# File lib/ldclient-rb/interfaces.rb, line 132 def initialized? end
Puts the data source into an active state. Normally this means it will make its first connection attempt to LaunchDarkly
. If `start` has already been called, calling it again should simply return the same value as the first call.
@return [Concurrent::Event] an Event which will be set once initialization is complete
# File lib/ldclient-rb/interfaces.rb, line 142 def start end
Puts the data source into an inactive state and releases all of its resources. This state should be considered permanent (`start` does not have to work after `stop`).
# File lib/ldclient-rb/interfaces.rb, line 149 def stop end