Skip to main content

QosPolicy

Enum QosPolicy 

Source
#[non_exhaustive]
pub enum QosPolicy {
Show 24 variants UserData { value: Vec<u8>, }, TopicData { value: Vec<u8>, }, GroupData { value: Vec<u8>, }, Durability { kind: Option<DurabilityKind>, }, DurabilityService { service_cleanup_delay: Option<Duration>, history_kind: Option<HistoryKind>, history_depth: Option<i32>, max_samples: Option<i32>, max_instances: Option<i32>, max_samples_per_instance: Option<i32>, }, Presentation { access_scope: Option<PresentationAccessScope>, coherent_access: Option<bool>, ordered_access: Option<bool>, }, Deadline { period: Option<Duration>, }, LatencyBudget { duration: Option<Duration>, }, Ownership { kind: Option<OwnershipKind>, }, OwnershipStrength { value: Option<i32>, }, Liveliness { kind: Option<LivelinessKind>, lease_duration: Option<Duration>, }, TimeBasedFilter { minimum_separation: Option<Duration>, }, Partition { name: Vec<String>, }, Reliability { kind: Option<ReliabilityKind>, max_blocking_time: Option<Duration>, }, TransportPriority { value: Option<i32>, }, Lifespan { duration: Option<Duration>, }, DestinationOrder { kind: Option<DestinationOrderKind>, }, History { kind: Option<HistoryKind>, depth: Option<i32>, }, ResourceLimits { max_samples: Option<i32>, max_instances: Option<i32>, max_samples_per_instance: Option<i32>, }, EntityFactory { autoenable_created_entities: Option<bool>, }, WriterDataLifecycle { autodispose_unregistered_instances: Option<bool>, }, ReaderDataLifecycle { autopurge_nowriter_samples_delay: Option<Duration>, autopurge_disposed_samples_delay: Option<Duration>, }, DataRepresentation { value: Vec<DataRepresentationId>, }, TypeConsistencyEnforcement { kind: Option<TypeConsistencyKind>, ignore_sequence_bounds: Option<bool>, ignore_string_bounds: Option<bool>, ignore_member_names: Option<bool>, prevent_type_widening: Option<bool>, force_type_validation: Option<bool>, },
}
Expand description

One QoS policy value.

Every field a DDS-XML document can omit is Option, so an unwritten field stays distinguishable from one written at its default. A profile that inherits from another needs exactly that distinction to know which fields to take from its base. Spec §3.7.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

UserData

§2.2.3.4

Fields

§value: Vec<u8>

Opaque payload.

§

TopicData

§2.2.3.5

Fields

§value: Vec<u8>

Opaque payload.

§

GroupData

§2.2.3.6

Fields

§value: Vec<u8>

Opaque payload.

§

Durability

§2.2.3.7

Fields

§kind: Option<DurabilityKind>

Durability kind.

§

DurabilityService

§2.2.3.8

Fields

§service_cleanup_delay: Option<Duration>

How long a sample is kept before cleanup.

§history_kind: Option<HistoryKind>

History kind of the durability service.

§history_depth: Option<i32>

History depth.

§max_samples: Option<i32>

Sample limit.

§max_instances: Option<i32>

Instance limit.

§max_samples_per_instance: Option<i32>

Per-instance sample limit.

§

Presentation

§2.2.3.9

Fields

§access_scope: Option<PresentationAccessScope>

Access scope.

§coherent_access: Option<bool>

Whether samples are delivered coherently.

§ordered_access: Option<bool>

Whether ordered access is requested.

§

Deadline

§2.2.3.10

Fields

§period: Option<Duration>

Deadline period.

§

LatencyBudget

§2.2.3.11

Fields

§duration: Option<Duration>

Acceptable delay.

§

Ownership

§2.2.3.12

Fields

§kind: Option<OwnershipKind>

Ownership kind.

§

OwnershipStrength

§2.2.3.13

Fields

§value: Option<i32>

Strength value.

§

Liveliness

§2.2.3.14

Fields

§kind: Option<LivelinessKind>

Liveliness kind.

§lease_duration: Option<Duration>

Lease duration.

§

TimeBasedFilter

§2.2.3.15

Fields

§minimum_separation: Option<Duration>

Minimum separation between samples.

§

Partition

§2.2.3.16

Fields

§name: Vec<String>

Partition names.

§

Reliability

§2.2.3.17

Fields

§kind: Option<ReliabilityKind>

Reliability kind.

§max_blocking_time: Option<Duration>

How long a write may block.

§

TransportPriority

§2.2.3.18

Fields

§value: Option<i32>

Priority value.

§

Lifespan

§2.2.3.19

Fields

§duration: Option<Duration>

Sample validity.

§

DestinationOrder

§2.2.3.20

Fields

§kind: Option<DestinationOrderKind>

Ordering kind.

§

History

§2.2.3.21

Fields

§kind: Option<HistoryKind>

History kind.

§depth: Option<i32>

History depth.

§

ResourceLimits

§2.2.3.22

Fields

§max_samples: Option<i32>

Sample limit.

§max_instances: Option<i32>

Instance limit.

§max_samples_per_instance: Option<i32>

Per-instance sample limit.

§

EntityFactory

§2.2.3.23

Fields

§autoenable_created_entities: Option<bool>

Whether created entities are enabled automatically.

§

WriterDataLifecycle

§2.2.3.24

Fields

§autodispose_unregistered_instances: Option<bool>

Whether unregistered instances are disposed automatically.

§

ReaderDataLifecycle

§2.2.3.25

Fields

§autopurge_nowriter_samples_delay: Option<Duration>

Delay before purging no-writer samples.

§autopurge_disposed_samples_delay: Option<Duration>

Delay before purging disposed samples.

§

DataRepresentation

DDS-XTypes 1.3 §7.6.3

Fields

§value: Vec<DataRepresentationId>

Accepted representations, in preference order.

§

TypeConsistencyEnforcement

DDS-XTypes 1.3 §7.6.4

Fields

§kind: Option<TypeConsistencyKind>

Coercion kind.

§ignore_sequence_bounds: Option<bool>

Whether sequence bounds may be ignored.

§ignore_string_bounds: Option<bool>

Whether string bounds may be ignored.

§ignore_member_names: Option<bool>

Whether member names may be ignored.

§prevent_type_widening: Option<bool>

Whether type coercion may widen.

§force_type_validation: Option<bool>

Whether a complete type object is required.

Implementations§

Source§

impl QosPolicy

Source

pub const fn kind(&self) -> QosPolicyKind

Which policy this value carries.

Trait Implementations§

Source§

impl Clone for QosPolicy

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for QosPolicy

Source§

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

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

impl Eq for QosPolicy

Source§

impl PartialEq for QosPolicy

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for QosPolicy

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

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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,

Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.