Subscribe to the service's events.

        Args:
            requested_timeout (int, optional): If requested_timeout is
                provided, a subscription valid for that
                number of seconds will be requested, but not guaranteed. Check
                `Subscription.timeout` on return to find out what period of
                validity is actually allocated.
            auto_renew (bool): If auto_renew is `True`, the subscription will
                automatically be renewed just before it expires, if possible.
                Default is `False`.

            event_queue (:class:`~queue.Queue`): a thread-safe queue object on
                which received events will be put. If not specified,
                a (:class:`~queue.Queue`) will be created and used.

        Returns:
            `Subscription`: an insance of `Subscription`, representing
                the new subscription.

        To unsubscribe, call the `unsubscribe` method on the returned object.

def subscribe(
            self, requested_timeout=None, auto_renew=False, event_queue=None):
        """Subscribe to the service's events.

        Args:
            requested_timeout (int, optional): If requested_timeout is
                provided, a subscription valid for that
                number of seconds will be requested, but not guaranteed. Check
                `Subscription.timeout` on return to find out what period of
                validity is actually allocated.
            auto_renew (bool): If auto_renew is `True`, the subscription will
                automatically be renewed just before it expires, if possible.
                Default is `False`.

            event_queue (:class:`~queue.Queue`): a thread-safe queue object on
                which received events will be put. If not specified,
                a (:class:`~queue.Queue`) will be created and used.

        Returns:
            `Subscription`: an insance of `Subscription`, representing
                the new subscription.

        To unsubscribe, call the `unsubscribe` method on the returned object.
        """
        subscription = Subscription(
            self, event_queue)
        subscription.subscribe(
            requested_timeout=requested_timeout, auto_renew=auto_renew)
        return subscription