Exemplo n.º 1
0
class Paho_Partner_Pair():
    def __init__(self):
        print("Paho_Partner_Pair.__init__")

        # interne paho instanz localhost
        self.internal_client = Extended_Client(partner_pair=self,
                                               client_id="uplink",
                                               userdata="cl_uplink")
        self.internal_client.on_message = on_message
        self.internal_client.on_connect = on_connect
        self.internal_client.on_publish = on_publish
        self.internal_client.on_subscribe = on_subscribe

        # externe instanz connection wo man will MQTTserverExample
        self.external_client = Extended_Client(partner_pair=self,
                                               userdata="cl_b")
        self.internal_client.on_message = on_message
        self.internal_client.on_connect = on_connect
        self.internal_client.on_publish = on_publish
        self.internal_client.on_subscribe = on_subscribe

    def connect(self, external_address):
        internal_address = "127.0.0.1"
        self.internal_client.connect(internal_address)
        self.internal_client.loop_start()  # starts a Thread

        self.external_client.connect(external_address)
        self.external_client.loop_start()  # starts a Thread

    # def announce(self, topic, qos):
    #    self.external_client.publish(topic, payload=None, qos=qos, retain=True)

    def announce(self, msg):
        # print("[.....] announcing topic(%s) : payload(%s) : qos(%d)" % msg.topic % msg.payload % msg.qos)
        self.external_client.publish(self,
                                     topic=msg.topic,
                                     payload=msg.payload,
                                     qos=msg.qos,
                                     retain=True)
        # FIXME find out how to get the upstream broker into the printout; Announce with/without payload?
        print("[.....] announcing topic({}) : payload({}) : qos({}) TO {})".
              format(msg.topic, msg.payload, msg.qos, 'FIXME'))

    def pass_packet_to_partner(self, binary_packet: bytes, origin_id):
        if origin_id == self.external_client._client_id:
            self.internal_client._client_id.enqueue_packet(binary_packet)
        elif origin_id == self.internal_client._client_id:
            self.external_client._client_id.enqueue_packet(binary_packet)

    def get_partner(self, my_id):
        if my_id == self.external_client._client_id:
            return self.internal_client
        elif my_id == self.internal_client._client_id:
            return self.external_client
Exemplo n.º 2
0
class Paho_Partner_Pair():
    def __init__(self):
        print("Paho_Partner_Pair.__init__")

        # interne paho instanz localhost
        self.internal_client = Extended_Client(partner_pair=self, client_id="uplink", userdata="cl_uplink")
        self.internal_client.on_message = on_message
        self.internal_client.on_connect = on_connect
        self.internal_client.on_publish = on_publish
        self.internal_client.on_subscribe = on_subscribe

        # externe instanz connection wo man will MQTTserverExample
        self.external_client = Extended_Client(partner_pair=self, userdata="cl_b")
        self.internal_client.on_message = on_message
        self.internal_client.on_connect = on_connect
        self.internal_client.on_publish = on_publish
        self.internal_client.on_subscribe = on_subscribe

    def connect(self, external_address):
        internal_address = "127.0.0.1"
        self.internal_client.connect(internal_address)
        self.internal_client.loop_start()  # starts a Thread

        self.external_client.connect(external_address)
        self.external_client.loop_start()  # starts a Thread

    # def announce(self, topic, qos):
    #    self.external_client.publish(topic, payload=None, qos=qos, retain=True)

    def announce(self, msg):
        # print("[.....] announcing topic(%s) : payload(%s) : qos(%d)" % msg.topic % msg.payload % msg.qos)
        self.external_client.publish(self, topic=msg.topic, payload=msg.payload, qos=msg.qos, retain=True)
        # FIXME find out how to get the upstream broker into the printout; Announce with/without payload?
        print("[.....] announcing topic({}) : payload({}) : qos({}) TO {})".format(msg.topic, msg.payload, msg.qos,
                                                                                   'FIXME'))

    def pass_packet_to_partner(self, binary_packet: bytes, origin_id):
        if origin_id == self.external_client._client_id:
            self.internal_client._client_id.enqueue_packet(binary_packet)
        elif origin_id == self.internal_client._client_id:
            self.external_client._client_id.enqueue_packet(binary_packet)

    def get_partner(self, my_id):
        if my_id == self.external_client._client_id:
            return self.internal_client
        elif my_id == self.internal_client._client_id:
            return self.external_client

            # pair = Paho_Partner_Pair("foo")
            # print("pair created")
Exemplo n.º 3
0
    def __init__(self):
        print("Paho_Partner_Pair.__init__")

        # interne paho instanz localhost
        self.internal_client = Extended_Client(partner_pair=self, client_id="uplink", userdata="cl_uplink")
        self.internal_client.on_message = on_message
        self.internal_client.on_connect = on_connect
        self.internal_client.on_publish = on_publish
        self.internal_client.on_subscribe = on_subscribe

        # externe instanz connection wo man will MQTTserverExample
        self.external_client = Extended_Client(partner_pair=self, userdata="cl_b")
        self.internal_client.on_message = on_message
        self.internal_client.on_connect = on_connect
        self.internal_client.on_publish = on_publish
        self.internal_client.on_subscribe = on_subscribe
Exemplo n.º 4
0
    def __init__(self):
        print("Paho_Partner_Pair.__init__")

        # interne paho instanz localhost
        self.internal_client = Extended_Client(partner_pair=self,
                                               client_id="uplink",
                                               userdata="cl_uplink")
        self.internal_client.on_message = on_message
        self.internal_client.on_connect = on_connect
        self.internal_client.on_publish = on_publish
        self.internal_client.on_subscribe = on_subscribe

        # externe instanz connection wo man will MQTTserverExample
        self.external_client = Extended_Client(partner_pair=self,
                                               userdata="cl_b")
        self.internal_client.on_message = on_message
        self.internal_client.on_connect = on_connect
        self.internal_client.on_publish = on_publish
        self.internal_client.on_subscribe = on_subscribe