def set_host(self, **kwargs):
""" Set host to connect to.
:param kwargs: Host Configuration
:type kwargs: dict
"""
user = kwargs["user"]
self._status_topic = "{}agents/{}".format(self._base, user)
self.client.reinitialise(client_id=user,
clean_session=self._clean_session)
self.client.username_pw_set(username=user, password=kwargs["password"])
self.client.will_set(self._status_topic, payload=b'\x00'.decode(),
qos=2, retain=True)
self.client.on_connect = self._on_connect
self.client.on_disconnect = self._on_disconnect
self.client.on_message = self._on_message
if "ca" in kwargs:
self.client.tls_set(ca_certs=kwargs["ca"],
cert_reqs=ssl.CERT_REQUIRED,
tls_version=ssl.PROTOCOL_TLSv1_2,
ciphers=None)
self.client.connect_async(kwargs["host"], kwargs["port"],
self._keepalive // 1000)
评论列表
文章目录