pub struct DomainParticipantFactory { /* private fields */ }Expand description
Factory-Singleton.
Implementations§
Source§impl DomainParticipantFactory
impl DomainParticipantFactory
Sourcepub fn instance() -> &'static DomainParticipantFactory
pub fn instance() -> &'static DomainParticipantFactory
Liefert den Prozess-weiten Factory-Singleton (Spec §2.2.2.2.2.1
get_instance).
Sourcepub fn create_participant(
&self,
domain_id: i32,
qos: DomainParticipantQos,
) -> Result<DomainParticipant, DdsError>
pub fn create_participant( &self, domain_id: i32, qos: DomainParticipantQos, ) -> Result<DomainParticipant, DdsError>
Erzeugt einen neuen DomainParticipant fuer die gegebene
Domain-Id. Startet die DcpsRuntime mit Default-Config —
UDP-Sockets + SPDP/SEDP-Threads.
§Errors
DdsError::TransportError wenn die UDP-Sockets nicht binden.
Sourcepub fn create_participant_with_config(
&self,
domain_id: i32,
qos: DomainParticipantQos,
config: RuntimeConfig,
) -> Result<DomainParticipant, DdsError>
pub fn create_participant_with_config( &self, domain_id: i32, qos: DomainParticipantQos, config: RuntimeConfig, ) -> Result<DomainParticipant, DdsError>
Variante mit explizit uebergebener RuntimeConfig (z.B. fuer
Tests mit kurzen SPDP-Periods).
§Errors
DdsError::TransportError wenn die UDP-Sockets nicht binden.
Sourcepub fn create_participant_offline(
&self,
domain_id: i32,
qos: DomainParticipantQos,
) -> DomainParticipant
pub fn create_participant_offline( &self, domain_id: i32, qos: DomainParticipantQos, ) -> DomainParticipant
Offline-Variante ohne Runtime — nur fuer Unit-Tests die kein Netzwerk wollen. Der zurueckgegebene Participant kann Topics erzeugen, aber keine DataWriter/Reader.
Sourcepub fn lookup_participant(&self, domain_id: i32) -> Option<DomainParticipant>
pub fn lookup_participant(&self, domain_id: i32) -> Option<DomainParticipant>
Spec §2.2.2.2.2.4 lookup_participant(domain_id) — liefert
einen vorher erzeugten Participant zur gleichen Domain-Id, oder
None wenn keiner registriert ist. Bei mehreren Participants
derselben Domain liefert die Implementation den ersten.
Sourcepub fn delete_participant(&self, p: &DomainParticipant) -> Result<(), DdsError>
pub fn delete_participant(&self, p: &DomainParticipant) -> Result<(), DdsError>
Spec §2.2.2.2.2.3 delete_participant. Entfernt den Participant
aus der Factory-Registry und ruft delete_contained_entities
auf. Liefert PreconditionNotMet wenn der Participant nicht
in der Registry ist.
§Errors
DdsError::PreconditionNotMet wenn der Participant nicht
registriert ist.
Sourcepub fn set_default_participant_qos(
&self,
qos: DomainParticipantQos,
) -> Result<(), DdsError>
pub fn set_default_participant_qos( &self, qos: DomainParticipantQos, ) -> Result<(), DdsError>
Spec §2.2.2.2.2.5 set_default_participant_qos — Default-QoS
fuer ab jetzt erzeugte Participants.
§Errors
DdsError::PreconditionNotMet bei Lock-Poisoning.
Sourcepub fn get_default_participant_qos(&self) -> DomainParticipantQos
pub fn get_default_participant_qos(&self) -> DomainParticipantQos
Spec §2.2.2.2.2.5 get_default_participant_qos.
Sourcepub fn set_qos(&self, qos: DomainParticipantFactoryQos) -> Result<(), DdsError>
pub fn set_qos(&self, qos: DomainParticipantFactoryQos) -> Result<(), DdsError>
Spec §2.2.2.2.2.6 set_qos (Factory-Level QoS).
§Errors
DdsError::PreconditionNotMet bei Lock-Poisoning.
Sourcepub fn get_qos(&self) -> DomainParticipantFactoryQos
pub fn get_qos(&self) -> DomainParticipantFactoryQos
Spec §2.2.2.2.2.6 get_qos (Factory-Level QoS).