Struct rustdds::dds::Publisher [−][src]
pub struct Publisher { /* fields omitted */ }
Expand description
DDS Publisher
Examples
use rustdds::dds::Publisher;
let domain_participant = DomainParticipant::new(0).unwrap();
let qos = QosPolicyBuilder::new().build();
let publisher = domain_participant.create_publisher(&qos);
Implementations
pub fn create_datawriter<D, SA>(
&self,
topic: Topic,
qos: Option<QosPolicies>
) -> Result<WithKeyDataWriter<D, SA>> where
D: Keyed + Serialize,
<D as Keyed>::K: Key,
SA: SerializerAdapter<D>,
pub fn create_datawriter<D, SA>(
&self,
topic: Topic,
qos: Option<QosPolicies>
) -> Result<WithKeyDataWriter<D, SA>> where
D: Keyed + Serialize,
<D as Keyed>::K: Key,
SA: SerializerAdapter<D>,
Creates DDS DataWriter for Keyed topic
Arguments
entity_id
- Custom entity id if necessary for the user to define ittopic
- Reference to DDS Topic this writer is created toqos
- Not currently in use
Examples
use rustdds::dds::traits::Keyed;
use rustdds::serialization::CDRSerializerAdapter;
use serde::Serialize;
let domain_participant = DomainParticipant::new(0).unwrap();
let qos = QosPolicyBuilder::new().build();
let publisher = domain_participant.create_publisher(&qos).unwrap();
#[derive(Serialize)]
struct SomeType { a: i32 }
impl Keyed for SomeType {
type K = i32;
fn get_key(&self) -> Self::K {
self.a
}
}
let topic = domain_participant.create_topic("some_topic", "SomeType", &qos, TopicKind::WithKey).unwrap();
let data_writer = publisher.create_datawriter::<SomeType, CDRSerializerAdapter<_>>(topic, None);
pub fn create_datawriter_CDR<D>(
&self,
topic: Topic,
qos: Option<QosPolicies>
) -> Result<WithKeyDataWriter<D, CDRSerializerAdapter<D, LittleEndian>>> where
D: Keyed + Serialize,
<D as Keyed>::K: Key,
pub fn create_datawriter_CDR<D>(
&self,
topic: Topic,
qos: Option<QosPolicies>
) -> Result<WithKeyDataWriter<D, CDRSerializerAdapter<D, LittleEndian>>> where
D: Keyed + Serialize,
<D as Keyed>::K: Key,
Shorthand for crate_datawriter with Commaon Data Representation Little Endian
pub fn create_datawriter_no_key<D, SA>(
&self,
topic: Topic,
qos: Option<QosPolicies>
) -> Result<NoKeyDataWriter<D, SA>> where
D: Serialize,
SA: SerializerAdapter<D>,
pub fn create_datawriter_no_key<D, SA>(
&self,
topic: Topic,
qos: Option<QosPolicies>
) -> Result<NoKeyDataWriter<D, SA>> where
D: Serialize,
SA: SerializerAdapter<D>,
Creates DDS DataWriter for Nokey Topic
Arguments
entity_id
- Custom entity id if necessary for the user to define ittopic
- Reference to DDS Topic this writer is created toqos
- QoS policies for this DataWriter
Examples
use rustdds::serialization::CDRSerializerAdapter;
use serde::Serialize;
let domain_participant = DomainParticipant::new(0).unwrap();
let qos = QosPolicyBuilder::new().build();
let publisher = domain_participant.create_publisher(&qos).unwrap();
#[derive(Serialize)]
struct SomeType {}
let topic = domain_participant.create_topic("some_topic", "SomeType", &qos, TopicKind::WithKey).unwrap();
let data_writer = publisher.create_datawriter_no_key::<SomeType, CDRSerializerAdapter<_>>(topic, None);
pub fn create_datawriter_no_key_CDR<D>(
&self,
topic: Topic,
qos: Option<QosPolicies>
) -> Result<NoKeyDataWriter<D, CDRSerializerAdapter<D, LittleEndian>>> where
D: Serialize,
Currently does nothing
Currently does nothing
Coherent set not implemented and currently does nothing
Coherent set not implemented and currently does nothing
Gets DomainParticipant if it has not disappeared from all scopes.
Example
let domain_participant = DomainParticipant::new(0).unwrap();
let qos = QosPolicyBuilder::new().build();
let publisher = domain_participant.create_publisher(&qos).unwrap();
assert_eq!(domain_participant, publisher.get_participant().unwrap());
Returns default DataWriter qos. Currently default qos is not used.
Example
use rustdds::dds::qos::{QosPolicyBuilder};
let domain_participant = DomainParticipant::new(0).unwrap();
let qos = QosPolicyBuilder::new().build();
let publisher = domain_participant.create_publisher(&qos).unwrap();
assert_eq!(qos, publisher.get_default_datawriter_qos());
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Publisher
impl !UnwindSafe for Publisher
Blanket Implementations
Mutably borrows from an owned value. Read more