code: def process_frames(self):
          
          while self._running.is_set():
              try:
                  frame = yield self._get_frame()
                  info = self._split_response(frame.data)
                  if info is not None:
                      self._callback(info)
              except Exception as e:
                  # Unexpected quit.
                  if self._error_callback:
                      self._error_callback(e)
docs: process_frames: None -> None
  
          Wait for a frame to become available, when resolved call the callback