Expand description

launchdarkly-server-sdk is the main crate for the LaunchDarkly SDK.

This package contains the types and methods for the SDK client Client and its overall configuration.

For more information and code examples, see the Rust SDK Reference: https://docs.launchdarkly.com/sdk/server-side/rust


Used to hold store information and initial payloads from LaunchDarkly.
ApplicationInfo allows configuration of application metadata.
A client for the LaunchDarkly API.
Immutable configuration object for crate::Client.
Used to create a Config struct for creating crate::Client instances.
Context is a collection of attributes that can be referenced in flag evaluations and analytics events. These attributes are described by one or more Kinds.
Contains methods for building a Context with a specified key.
A Detail instance is returned from evaluate, combining the result of a flag evaluation with an explanation of how it was calculated.
Contains methods for configuring delivery of analytics events.
Flag describes an individual feature flag.
FlagDetail is a snapshot of the state of multiple feature flags with regard to a specific user. This is the return type of crate::Client::all_flags_detail.
Configuration struct to control the type of data returned from the crate::Client::all_flags_detail method. By default, each of the options default to false. However, you can selectively enable them by calling the appropriate functions.
Kind describes the type of entity represented by a Context. The meaning of a kind is entirely up to the application. To construct a custom kind other than “user”, see Kind::try_from.
Contains methods for building a multi-context.
An implementation of EventProcessorFactory that will discard all events received. This should only be used for unit tests.
Used to create a PersistentDataStoreWrapper instance, which wraps a PersistentDataStore.
Error type used to represent failures when interacting with the underlying persistent stores.
Contains methods for configuring the polling data source.
Represents an attribute name or path expression identifying a value within a crate::Context.
Segment describes a group of contexts based on keys and/or matching rules.
A serialized item representing either a flag or a segment.
Used for configuring the SDKs service URLs.
Contains methods for configuring the streaming data source.


An attribute value represents possible values that can be stored in a crate::Context.
Error type used to represent failures when building a Client instance.
Enum which denotes the kind of data that may be persisted in our data stores.
Error type used to represent failures when building a DataSource instance.
Error is returned via a Reason::Error when the client could not evaluate a flag, and provides information about why the flag could not be evaluated.
Error type used to represent failures when building an EventProcessor instance.
Error type used to represent failures when building a FeatureRequesterFactory instance.
FlagValue represents any of the data types supported by JSON, all of which can be used for a LaunchDarkly feature flag variation or a custom context attribute.
Reason describes the reason that a flag evaluation produced a particular value.
Error type used to represent failures when starting the Client.
Enum to denote whether the item is a valid type T or if it is a tombstone place holder used to show the item T was deleted.


Trait for the component that buffers analytics events and sends them to LaunchDarkly. This component can be replaced for testing purposes.
Trait which allows creation of feature requesters.
PersistentDataStore is an interface for a data store that holds feature flags and related data in a serialized form.
PersistentDataStoreFactory is an interface for a factory that creates some implementation of a PersistentDataStore.
Trait indicating that the item is versioned.


Return the SDK version