[][src]Struct b2dp::mechanisms::exponential::ExponentialOptions

pub struct ExponentialOptions {
    pub min_retries: u32,
    pub optimized_sample: bool,
    pub empirical_precision: bool,
}

The exponential mechanism optional parameters.

Fields

min_retries: u32

The minimum number of retries for timing channel prevention default: 1 Minimum retries helps to mitigate timing channels in optimized sampling. The higher the number of retries, the less likely it is for an adversary to observe useful timing information.

optimized_sample: bool

Whether to optimize sampling default: false Optimized sampling exacerbates timing channels, and it's not recommended for use in un-trusted settings.

empirical_precision: bool

Whether to use empirical precision default: false Determination of safe precision given utility bounds and outcome set size limits can be done analytically or empirically. Both are independent of the dataset. Using empirical_precision = true determines the required precision via a set of test calculations. The timing overhead of these calculations is proportional to the outcome set size, and the overhead may outweigh any reduction in required precision.

Trait Implementations

impl Clone for ExponentialOptions[src]

impl Copy for ExponentialOptions[src]

impl Debug for ExponentialOptions[src]

impl Default for ExponentialOptions[src]

fn default() -> ExponentialOptions[src]

Default options for the exponential mechanism min_retries = 1, optimized_sample = false, empirical_precision = false

Auto Trait Implementations

impl RefUnwindSafe for ExponentialOptions

impl Send for ExponentialOptions

impl Sync for ExponentialOptions

impl Unpin for ExponentialOptions

impl UnwindSafe for ExponentialOptions

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Az for T[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CheckedAs for T[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> OverflowingAs for T[src]

impl<T> SaturatingAs for T[src]

impl<T> StaticAs for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> WrappingAs for T[src]