code: def _async_recv(self):
          
  
          logging.info("Receive loop started")
          recbuffer = b""
  
          while not self._stop_event.is_set():
              time.sleep(0.01)
              try:
                  recbuffer = recbuffer + self._socket.recv(1024)
                  data = recbuffer.split(b'\r\n')
                  recbuffer = data.pop()
                  if data:
                      for line in data:
                          self._process_data(line.decode(encoding='UTF-8', errors='ignore'))
              except BlockingIOError as e:
                  pass
          logging.info("Receive loop stopped")
docs: No raw bytes should escape from this, all byte encoding and
          decoding should be handling inside this function