code: def read_response(self):
          
          response = self._read_response()
          frame, data = nsq.unpack_response(response)
          self.last_response = time.time()
  
          if frame not in self._frame_handlers:
              raise errors.NSQFrameError('unknown frame {}'.format(frame))
  
          frame_handler = self._frame_handlers[frame]
          processed_data = frame_handler(data)
  
          return frame, processed_data
docs: Read an individual response from nsqd.
  
          :returns: tuple of the frame type and the processed data.