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

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