Example #1
0
 /**
  * Get a list of the subscriptions registered to all of your project's
  * topics.
  *
  * Example:
  * ```
  * $subscriptions = $pubsub->subscriptions();
  * foreach ($subscriptions as $subscription) {
  *      $info = $subscription->info();
  *      echo $info['name']; // `projects/my-awesome-project/subscriptions/<subscription-name>`
  * }
  * ```
  *
  * @see https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.subscriptions/list List Subscriptions
  *
  * @param array $options [optional] {
  *     Configuration Options
  *
  *     @type int $pageSize Maximum number of results to return per
  *           request.
  * }
  * @return \Generator<Google\Cloud\PubSub\Subscription>
  */
 public function subscriptions(array $options = [])
 {
     $options['pageToken'] = null;
     do {
         $response = $this->connection->listSubscriptions($options + ['project' => $this->formatName('project', $this->projectId)]);
         foreach ($response['subscriptions'] as $subscription) {
             (yield $this->subscriptionFactory($subscription['name'], $subscription['topic'], $subscription));
         }
         // If there's a page token, we'll request the next page.
         $options['pageToken'] = isset($response['nextPageToken']) ? $response['nextPageToken'] : null;
     } while ($options['pageToken']);
 }