Struct rustdds::dds::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::dds::DomainParticipant;
use rustdds::dds::qos::QosPolicyBuilder;
use rustdds::dds::Topic;
use rustdds::dds::data_types::TopicKind;

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
use rustdds::dds::data_types::TopicKind;

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<Topic> 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 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 Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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 Twhere 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 Twhere 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 Twhere 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.
§

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

§

fn vzip(self) -> V