public static async Task <IReadOnlyCollection <DiscoveredServerStreamingMethod <TRequest, TResponse> > > DiscoverAsync <TRequest, TResponse>(
            this IClientDiscoveryInvoker invoker, ServerStreamingMethodDiscoveryQuery <TRequest, TResponse> query)
        {
            var discoveryResult = await invoker
                                  .DiscoverAsync(query)
                                  .ConfigureAwait(false);

            return(discoveryResult.Select(x => new DiscoveredServerStreamingMethod <TRequest, TResponse>(x)).ToList());
        }
 public static Task <IReadOnlyCollection <DiscoveredMethod <TRequest, TResponse> > > DiscoverAsync <TRequest, TResponse>(
     this IClientDiscoveryInvoker invoker)
 {
     return(invoker.DiscoverAsync(MethodDiscoveryQuery.Create <TRequest, TResponse>()));
 }