code: def _read_loop(self):
          
          while self._running:
              received_data_raw = self._receive_all()
              if self._running:
                  self.receive_count += 1
                  self.datetime_last_received = datetime.datetime.utcnow()
                  received_data_split = received_data_raw.split(self.__CRLF)
                  for received_data in received_data_split:
                      if received_data:
                          self._data(received_data)
docs: Read loop, splits by CRLF and pushes received data
          to _data.