def publish(self, response: quantum.QuantumRunStreamResponse) -> None:
        """Makes the response available to the subscriber with the matching message ID.

        The subscriber is unsubscribed afterwards.

        If there are no subscribers waiting for the response, nothing happens.
        """
        future = self._subscribers.pop(response.message_id, None)
        if future and not future.done():
            future.set_result(response)
Makes the response available to the subscriber with the matching message ID.

        The subscriber is unsubscribed afterwards.

        If there are no subscribers waiting for the response, nothing happens.
        
cirq-google/cirq_google/engine/stream_manager.py