pub struct Flag {
pub key: String,
pub version: u64,
pub track_events: bool,
pub track_events_fallthrough: bool,
pub debug_events_until_date: Option<u64>,
/* private fields */
}
Expand description
Flag describes an individual feature flag.
Fields§
§key: String
The unique string key of the feature flag.
version: u64
Version is an integer that is incremented by LaunchDarkly every time the configuration of the flag is changed.
track_events: bool
Used internally by the SDK analytics event system.
This field is true if the current LaunchDarkly account has data export enabled, and has turned on the “send detailed event information for this flag” option for this flag. This tells the SDK to send full event data for each flag evaluation, rather than only aggregate data in a summary event.
The launchdarkly-server-sdk-evaluation crate does not implement that behavior; it is only in the data model for use by the SDK.
track_events_fallthrough: bool
Used internally by the SDK analytics event system.
This field is true if the current LaunchDarkly account has experimentation enabled, has associated this flag with an experiment, and has enabled “default rule” for the experiment. This tells the SDK to send full event data for any evaluation where this flag had targeting turned on but the context did not match any targets or rules.
The launchdarkly-server-sdk-evaluation package does not implement that behavior; it is only in the data model for use by the SDK.
debug_events_until_date: Option<u64>
Used internally by the SDK analytics event system.
This field is non-zero if debugging for this flag has been turned on temporarily in the LaunchDarkly dashboard. Debugging always is for a limited time, so the field specifies a Unix millisecond timestamp when this mode should expire. Until then, the SDK will send full event data for each evaluation of this flag.
The launchdarkly-server-sdk-evaluation package does not implement that behavior; it is only in the data model for use by the SDK.
Implementations§
Source§impl Flag
impl Flag
Sourcepub fn variation(
&self,
index: VariationIndex,
reason: Reason,
) -> Detail<&FlagValue>
pub fn variation( &self, index: VariationIndex, reason: Reason, ) -> Detail<&FlagValue>
Generate a crate::Detail response with the given variation and reason.
Sourcepub fn off_value(&self, reason: Reason) -> Detail<&FlagValue>
pub fn off_value(&self, reason: Reason) -> Detail<&FlagValue>
Generate a crate::Detail response using the flag’s off variation.
If a flag has an off_variation specified, a crate::Detail will be created using that variation. If the flag does not have an off_variation specified, an empty crate::Detail will be returned. See crate::Detail::empty.
Sourcepub fn using_environment_id(&self) -> bool
pub fn using_environment_id(&self) -> bool
Indicates that this flag is available to clients using the environment id to identify an environment (includes client-side javascript clients).
Sourcepub fn using_mobile_key(&self) -> bool
pub fn using_mobile_key(&self) -> bool
Indicates that this flag is available to clients using the mobile key for authorization (includes most desktop and mobile clients).
Sourcepub fn is_experimentation_enabled(&self, reason: &Reason) -> bool
pub fn is_experimentation_enabled(&self, reason: &Reason) -> bool
Returns true if, based on the crate::Reason returned by the flag evaluation, an event for that evaluation should have full tracking enabled and always report the reason even if the application didn’t explicitly request this. For instance, this is true if a rule was matched that had tracking enabled for that specific rule.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Flag
impl<'de> Deserialize<'de> for Flag
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for Flag
impl RefUnwindSafe for Flag
impl Send for Flag
impl Sync for Flag
impl Unpin for Flag
impl UnwindSafe for Flag
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)