def response_received(self, response):
        """
        Called when a response to a job RPC has been received. Decodes the
        response and finalizes the result, then reports the result to the
        job manager.
        """

        if self._closed:
            return

        assert self._job is not None

        logger.debug("worker {} got response".format(id(self)))
        result = self._job.get_result(response)
        self._manager.add_result(self._job, result)

        self._load_job()