Adafruit_CircuitPython_MiniMQTT
Adafruit_CircuitPython_MiniMQTT copied to clipboard
Sometimes receiving single zero byte
Why does #127 fix #126? As mentioned by @brentru in https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT/pull/127#issuecomment-1317271214 and following
@jinglemansweep Hi - thanks for fixing this issue. @dhalbert - I do not think this is a network or a MQTT spec issue,
b"\x00
is rx'd after the call tores = self._sock_exact_recv(1)
.Considering some in #126 are having issues with non-native wifi, it's possible (don't know, guessing right now) that the issue is within this library's local implementation of
_sock_exact_recv()
vs the native impl. of_sock_exact_recv()
(cc @calcut ☝️ )# CPython socket module contains a timeout attribute if hasattr(self._socket_pool, "timeout"): try: res = self._sock_exact_recv(1) except self._socket_pool.timeout: return None else: # socketpool, esp32spi try: res = self._sock_exact_recv(1)
For now, though, I think this is an OK temporary change and will cause clients to poll faster until we resolve why the socket is rcv'ing a bytearray on some clients.