Struct rustdds::Topic

source ·
pub struct Topic { /* private fields */ }
Expand description

DDS Topic

DDS Specification, Section 2.2.1.2 Conceptual outline:

Topic objects conceptually fit between publications and subscriptions. Publications must be known in such a way that subscriptions can refer to them unambiguously. A Topic is meant to fulfill that purpose: it associates a name (unique in the domain), a data-type, and QoS related to the data itself.

Topics can be created (or found) using a DomainParticipant.

§Examples

use rustdds::*;

let domain_participant = DomainParticipant::new(0).unwrap();
let qos = QosPolicyBuilder::new().build();
let topic = domain_participant
      .create_topic("some_topic".to_string(), "SomeType".to_string(), &qos, TopicKind::WithKey)
      .unwrap();

Implementations§

source§

impl Topic

source

pub fn kind(&self) -> TopicKind

Gets Topics TopicKind

§Examples

let topic = domain_participant
    .create_topic("some_topic".to_string(), "SomeType".to_string(), &qos, TopicKind::WithKey)
    .unwrap();
assert_eq!(topic.kind(), TopicKind::WithKey);

Trait Implementations§

source§

impl Clone for Topic

source§

fn clone(&self) -> Topic

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 Topic

source§

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

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

impl HasQoSPolicy for Topic

source§

impl PartialEq for Topic

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl TopicDescription for Topic

Implements some default topic interfaces functions defined in DDS spec

source§

fn participant(&self) -> Option<DomainParticipant>

Gets DomainParticipant if it is still alive.

source§

fn get_type(&self) -> TypeDesc

Gets type description of this Topic

source§

fn name(&self) -> String

Gets name of this topic

Auto Trait Implementations§

§

impl Freeze for Topic

§

impl RefUnwindSafe for Topic

§

impl Send for Topic

§

impl Sync for Topic

§

impl Unpin for Topic

§

impl UnwindSafe for Topic

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.

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

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V