pub struct PingType(/* private fields */);
Expand description

Stores information about a ping.

This is required so that given metric data queued on disk we can send pings with the correct settings, e.g. whether it has a client_id.

Implementations§

source§

impl PingType

source

pub fn new<A: Into<String>>( name: A, include_client_id: bool, send_if_empty: bool, precise_timestamps: bool, include_info_sections: bool, enabled: bool, schedules_pings: Vec<String>, reason_codes: Vec<String>, follows_collection_enabled: bool, uploader_capabilities: Vec<String> ) -> Self

Creates a new ping type for the given name, whether to include the client ID and whether to send this ping empty.

Arguments
  • name - The name of the ping.
  • include_client_id - Whether to include the client ID in the assembled ping when submitting.
  • send_if_empty - Whether the ping should be sent empty or not.
  • precise_timestamps - Whether the ping should use precise timestamps for the start and end time.
  • include_info_sections - Whether the ping should include the client/ping_info sections.
  • enabled - Whether or not this ping is enabled. Note: Data that would be sent on a disabled ping will still be collected but is discarded rather than being submitted.
  • reason_codes - The valid reason codes for this ping.
  • uploader_capabilities - The ordered list of capabilities this ping requires to be uploaded with.
source

pub fn name(&self) -> &str

Get the name of this Ping

source

pub fn include_client_id(&self) -> bool

Whether the client ID will be included in the assembled ping when submitting.

source

pub fn send_if_empty(&self) -> bool

Whether the ping should be sent if empty.

source

pub fn precise_timestamps(&self) -> bool

Whether the ping will include precise timestamps for the start/end time.

source

pub fn include_info_sections(&self) -> bool

Whether client/ping_info sections will be included in this ping.

source

pub fn set_enabled(&self, enabled: bool)

Enable or disable a ping.

Disabling a ping causes all data for that ping to be removed from storage and all pending pings of that type to be deleted.

source

pub fn naively_enabled(&self) -> bool

Whether the enabled field of this ping is set. Note that there are multiple other reasons why a ping may or may not be enabled. See PingType::new and PingType::enabled for more details.

source

pub fn follows_collection_enabled(&self) -> bool

Whether this ping follows the collection_enabled flag See InnerPing member documentation for further details.

source

pub fn schedules_pings(&self) -> &[String]

Other pings that should be scheduled when this ping is sent.

source

pub fn reason_codes(&self) -> &[String]

Reason codes that this ping can send.

source

pub fn uploader_capabilities(&self) -> &[String]

The capabilities this ping requires to be uploaded under.

source

pub fn submit(&self, reason: Option<String>)

Submits the ping for eventual uploading.

The ping content is assembled as soon as possible, but upload is not guaranteed to happen immediately, as that depends on the upload policies.

If the ping currently contains no content, it will not be sent, unless it is configured to be sent if empty.

Arguments
  • reason - the reason the ping was triggered. Included in the ping_info.reason part of the payload.

Trait Implementations§

source§

impl Clone for PingType

source§

fn clone(&self) -> PingType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PingType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<UT> LiftRef<UT> for PingType

source§

impl<UT> LowerError<UT> for PingType

source§

fn lower_error(obj: Self) -> RustBuffer

Lower this value for scaffolding function return Read more
source§

impl<UT> LowerReturn<UT> for PingType

§

type ReturnType = <Arc<PingType> 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 PingType

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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

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

§

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.