Esempio n. 1
0
    def __init__(self, qos_path):
        self.participant = None
        self._component_set = set()

        self.qos_path = pathlib.Path(qos_path).resolve()
        if not self.qos_path.is_file():
            raise ValueError(f"qos_path={qos_path} is not a file")
        self.qos_provider = dds.QosProvider(self.qos_path.as_uri(), 'DDS DefaultQosProfile')

        participant_qos = self.qos_provider.get_participant_qos()
        self.participant = dds.DomainParticipant(qos=participant_qos)

        self.topic_qos = self.qos_provider.get_topic_qos()

        read_queue_policy = dds.HistoryQosPolicy(depth=DDS_READ_QUEUE_LEN,
                                                 kind=dds.DDSHistoryKind.KEEP_LAST)
        self.reader_qos = self.qos_provider.get_reader_qos()
        # QoS for readers that want late-joiner data
        self.reader_qos.set_policies([read_queue_policy])

        self.volatilereader_qos = self.qos_provider.get_reader_qos()
        volatile_policy = dds.DurabilityQosPolicy(dds.DDSDurabilityKind.VOLATILE)
        # QoS for readers that do not want late-joiner data
        self.volatilereader_qos.set_policies([read_queue_policy, volatile_policy])

        self.writer_qos = self.qos_provider.get_writer_qos()
Esempio n. 2
0
 def __init__(self, qos_path: type_hints.PathType,
              profile_name: str) -> None:
     self.profile_name = profile_name
     self.qos_provider = dds.QosProvider(
         pathlib.Path(qos_path).as_uri(), profile_name)
     self.topic_qos = self.qos_provider.get_topic_qos()
     self.reader_qos = self.qos_provider.get_reader_qos()
     self.writer_qos = self.qos_provider.get_writer_qos()
Esempio n. 3
0
 def __init__(self, sQualityOfServiceFile, sQualityOfServiceName,
              sDataStructureFile):
     self.__oQP = dds.QosProvider(sQualityOfServiceFile,
                                  sQualityOfServiceName)
     self.__oDP = dds.DomainParticipant(
         qos=self.__oQP.get_participant_qos())
     self.__sDataStructureFile = sDataStructureFile
     self.__oTopics = None
     self.__oPub = None
     self.DataReceived = Event()
Esempio n. 4
0
 def start(self, qosxml, qosprofile):
     if qosxml and qosprofile:
         self._qosProfile = dds.QosProvider(qosxml, qosprofile)
         self._domainParticipant = dds.DomainParticipant(
             qos=self._qosProfile.get_participant_qos())
         self._publisher = self._domainParticipant.create_publisher(
             qos=self._qosProfile.get_publisher_qos())
         self._subscriber = self._domainParticipant.create_subscriber(
             qos=self._qosProfile.get_subscriber_qos())
     else:
         self._domainParticipant = dds.DomainParticipant()
         self._publisher = self._domainParticipant.create_publisher()
         self._subscriber = self._domainParticipant.create_subscriber()