nimbus::stateful::persistence

Enum StoreId

source
pub enum StoreId {
    Experiments,
    Enrollments,
    Meta,
    Updates,
    EventCounts,
}
Expand description

Enumeration of the different stores within our database.

Our rkv database contains a number of different “stores”, and the items in each store correspond to a particular type of object at the Rust level.

Variants§

§

Experiments

Store containing the set of known experiments, as read from the server.

Keys in the Experiments store are experiment identifier slugs, and their corresponding values are serialized instances of the Experiment struct representing the last known state of that experiment.

§

Enrollments

Store containing the set of known experiment enrollments.

Keys in the Enrollments store are experiment identifier slugs, and their corresponding values are serialized instances of the [ExperimentEnrollment] struct representing the current state of this client’s enrollment (or not) in that experiment.

§

Meta

Store containing miscellaneous metadata about this client instance.

Keys in the Meta store are string constants, and their corresponding values are serialized items whose type depends on the constant. Known constraints include:

  • “db_version”: u16, the version number of the most revent migration applied to this database.
  • “nimbus-id”: String, the randomly-generated identifier for the current client instance.
  • “user-opt-in”: bool, whether the user has explicitly opted in or out of participating in experiments.
  • “installation-date”: a UTC DateTime string, defining the date the consuming app was installed
  • “update-date”: a UTC DateTime string, defining the date the consuming app was last updated
  • “app-version”: String, the version of the app last persisted
§

Updates

Store containing pending updates to experiment data.

The Updates store contains a single key “pending-experiment-updates”, whose corresponding value is a serialized Vec<Experiment> of new experiment data that has been received from the server but not yet processed by the application.

§

EventCounts

Store containing collected counts of behavior events for targeting purposes.

Keys in the EventCounts store are strings representing the identifier for the event and their corresponding values represent a serialized instance of a [MultiIntervalCounter] struct that contains a set of configurations and data for the different time periods that the data will be aggregated on.

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, 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.
§

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

§

impl<T> MaybeSendSync for T