/// <summary>Snippet for ListTopicSubscriptions</summary> public async Task ListTopicSubscriptionsRequestObjectAsync() { // Snippet: ListTopicSubscriptionsAsync(ListTopicSubscriptionsRequest, CallSettings) // Create client PublisherServiceApiClient publisherServiceApiClient = await PublisherServiceApiClient.CreateAsync(); // Initialize request argument(s) ListTopicSubscriptionsRequest request = new ListTopicSubscriptionsRequest { TopicAsTopicName = TopicName.FromProjectTopic("[PROJECT]", "[TOPIC]"), }; // Make the request PagedAsyncEnumerable <ListTopicSubscriptionsResponse, string> response = publisherServiceApiClient.ListTopicSubscriptionsAsync(request); // Iterate over all response items, lazily performing RPCs as required await response.ForEachAsync((string item) => { // Do something with each item Console.WriteLine(item); }); // Or iterate over pages (of server-defined size), performing one RPC per page await response.AsRawResponses().ForEachAsync((ListTopicSubscriptionsResponse page) => { // Do something with each page of items Console.WriteLine("A page of results:"); foreach (string item in page) { // Do something with each item Console.WriteLine(item); } }); // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required int pageSize = 10; Page <string> singlePage = await response.ReadPageAsync(pageSize); // Do something with the page of items Console.WriteLine($"A page of {pageSize} results (unless it's the final page):"); foreach (string item in singlePage) { // Do something with each item Console.WriteLine(item); } // Store the pageToken, for when the next page is required. string nextPageToken = singlePage.NextPageToken; // End snippet }
/// <summary> /// Lists the name of the subscriptions for this topic. /// </summary> /// <param name="topic">The name of the topic that subscriptions are attached to.</param> /// <param name="callSettings">If not null, applies overrides to this RPC call.</param> /// <returns>The RPC response.</returns> public override IEnumerable <string> ListTopicSubscriptions( string topic, CallSettings callSettings = null) { ListTopicSubscriptionsRequest request = new ListTopicSubscriptionsRequest { Topic = topic, }; return(s_listTopicSubscriptionsPageStreamer.Fetch( request, pageStreamRequest => GrpcClient.ListTopicSubscriptions( pageStreamRequest, _clientHelper.BuildCallOptions(null, callSettings)) )); }
/// <summary> /// Lists the name of the subscriptions for this topic. /// </summary> /// <param name="topic">The name of the topic that subscriptions are attached to.</param> /// <param name="callSettings">If not null, applies overrides to this RPC call.</param> /// <returns>A Task containing the RPC response.</returns> public override IAsyncEnumerable <string> ListTopicSubscriptionsAsync( string topic, CallSettings callSettings = null) { ListTopicSubscriptionsRequest request = new ListTopicSubscriptionsRequest { Topic = topic, }; return(s_listTopicSubscriptionsPageStreamer.FetchAsync( request, (pageStreamRequest, cancellationToken) => GrpcClient.ListTopicSubscriptionsAsync( pageStreamRequest, _clientHelper.BuildCallOptions(cancellationToken, callSettings) ).ResponseAsync )); }
public void ListTopicSubscriptions_RequestObject() { // Snippet: ListTopicSubscriptions(ListTopicSubscriptionsRequest,CallSettings) // Create client PublisherClient publisherClient = PublisherClient.Create(); // Initialize request argument(s) ListTopicSubscriptionsRequest request = new ListTopicSubscriptionsRequest { TopicAsTopicName = new TopicName("[PROJECT]", "[TOPIC]"), }; // Make the request PagedEnumerable <ListTopicSubscriptionsResponse, SubscriptionName> response = publisherClient.ListTopicSubscriptions(request); // Iterate over all response items, lazily performing RPCs as required foreach (SubscriptionName item in response) { // Do something with each item Console.WriteLine(item); } // Or iterate over pages (of server-defined size), performing one RPC per page foreach (ListTopicSubscriptionsResponse page in response.AsRawResponses()) { // Do something with each page of items Console.WriteLine("A page of results:"); foreach (SubscriptionName item in page) { Console.WriteLine(item); } } // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required int pageSize = 10; Page <SubscriptionName> singlePage = response.ReadPage(pageSize); // Do something with the page of items Console.WriteLine($"A page of {pageSize} results (unless it's the final page):"); foreach (SubscriptionName item in singlePage) { Console.WriteLine(item); } // Store the pageToken, for when the next page is required. string nextPageToken = singlePage.NextPageToken; // End snippet }