remote_settings

Struct RemoteSettingsClient

source
pub struct RemoteSettingsClient { /* private fields */ }
Expand description

Client for a single Remote Settings collection

Use RemoteSettingsService::make_client to create these.

Implementations§

source§

impl RemoteSettingsClient

source

pub fn collection_name(&self) -> String

Collection this client is for

source

pub fn get_records( &self, sync_if_empty: bool, ) -> Option<Vec<RemoteSettingsRecord>>

Get the current set of records.

This method normally fetches records from the last sync. This means that it returns fast and does not make any network requests.

If records have not yet been synced it will return None. Use sync_if_empty = true to change this behavior and perform a network request in this case. That this is probably a bad idea if you want to fetch the setting in application startup or when building the UI.

None will also be returned on disk IO errors or other unexpected errors. The reason for this is that there is not much an application can do in this situation other than fall back to the same default handling as if records have not been synced.

Application-services schedules regular dumps of the server data for specific collections. For these collections, get_records will never return None. If you would like to add your collection to this list, please reach out to the DISCO team.

source

pub fn get_records_map( &self, sync_if_empty: bool, ) -> Option<HashMap<String, RemoteSettingsRecord>>

Get the current set of records as a map of record_id -> record.

See Self::get_records for an explanation of when this makes network requests, error handling, and how the sync_if_empty param works.

source

pub fn get_attachment(&self, record: RemoteSettingsRecord) -> ApiResult<Vec<u8>>

Get attachment data for a remote settings record

Attachments are large binary blobs used for data that doesn’t fit in a normal record. They are handled differently than other record data:

  • Attachments are not downloaded in RemoteSettingsService::sync
  • This method will make network requests if the attachment is not cached
  • This method will throw if there is a network or other error when fetching the attachment data.

Trait Implementations§

source§

impl<UT> LiftRef<UT> for RemoteSettingsClient

source§

impl<UT> LowerError<UT> for RemoteSettingsClient

source§

fn lower_error(obj: Self) -> RustBuffer

Lower this value for scaffolding function return Read more
source§

impl<UT> LowerReturn<UT> for RemoteSettingsClient

source§

type ReturnType = <Arc<RemoteSettingsClient> as LowerReturn<UniFfiTag>>::ReturnType

The type that should be returned by scaffolding functions for this type. Read more
source§

fn lower_return(obj: Self) -> Result<Self::ReturnType, RustCallError>

Lower the return value from an scaffolding call Read more
§

fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>

Lower the return value for failed argument lifts Read more
source§

impl<UT> TypeId<UT> for RemoteSettingsClient

source§

const TYPE_ID_META: MetadataBuffer = _

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