Struct GeckoPrefStore

Source
pub struct GeckoPrefStore {
    pub handler: Arc<Box<dyn GeckoPrefHandler>>,
    pub state: Mutex<GeckoPrefStoreState>,
}

Fields§

§handler: Arc<Box<dyn GeckoPrefHandler>>§state: Mutex<GeckoPrefStoreState>

Implementations§

Source§

impl GeckoPrefStore

Source

pub fn new(handler: Arc<Box<dyn GeckoPrefHandler>>) -> Self

Source

pub fn initialize(&self) -> Result<()>

Source

pub fn get_mutable_pref_state(&self) -> MutexGuard<'_, GeckoPrefStoreState>

Source

pub fn pref_is_user_set(&self, pref: &str) -> bool

Source

pub fn map_gecko_prefs_to_enrollment_slugs_and_update_store( &self, experiments: &[Experiment], enrollments: &[ExperimentEnrollment], experiments_by_slug: &HashMap<String, EnrolledExperiment>, ) -> HashMap<String, HashSet<String>>

This method accomplishes a number of tasks important to the Gecko pref enrollment workflow.

  1. It returns a map of pref string to a vector of enrolled recipes in which the value for the enrolled branch’s feature values includes the property of that feature that sets the aforementioned pref.
  2. It updates the GeckoPrefStore state, such that the appropriate GeckoPrefState’s enrollment_value reflects the appropriate value.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, UT> HandleAlloc<UT> for T
where T: Send + Sync,

§

fn new_handle(value: Arc<T>) -> Handle

Create a new handle for an Arc value Read more
§

unsafe fn clone_handle(handle: Handle) -> Handle

Clone a handle Read more
§

unsafe fn consume_handle(handle: Handle) -> Arc<T>

Consume a handle, getting back the initial Arc<> Read more
§

unsafe fn get_arc(handle: Handle) -> Arc<Self>

Get a clone of the Arc<> using a “borrowed” handle. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T