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 <DiscoveredServerStreamingMethod <TRequest, TResponse> > > DiscoverAsync <TRequest, TResponse>(
     this IClientDiscoveryInvoker invoker, ServerStreamingMethod <TRequest, TResponse> method)
 {
     return(DiscoverAsync(invoker, MethodDiscoveryQuery.Create(method)));
 }
 public static Task <IReadOnlyCollection <DiscoveredOnlineUnaryMethod <TRequest, TResponse> > > DiscoverOnlineAsync <TRequest, TResponse>(
     this IClientDiscoveryInvoker invoker, UnaryMethod <TRequest, TResponse> method)
 {
     return(DiscoverOnlineAsync(invoker, MethodDiscoveryQuery.Create(method)));
 }
 public static Task <IReadOnlyCollection <DiscoveredOnlineMethod <TRequest, TResponse> > > DiscoverOnlineAsync <TRequest, TResponse>(
     this IClientDiscoveryInvoker invoker)
 {
     return(invoker.DiscoverOnlineAsync(MethodDiscoveryQuery.Create <TRequest, TResponse>()));
 }
 public static Task <IReadOnlyCollection <DiscoveredMethod <TRequest, Nothing> > > DiscoverAsync <TRequest>(
     this IClientDiscoveryInvoker invoker)
 {
     return(invoker.DiscoverAsync(MethodDiscoveryQuery.Create <TRequest, Nothing>()));
 }
예제 #6
0
 public static async Task <IReadOnlyCollection <DiscoveredOnlineUnaryMethod <TRequest, TResponse> > > DiscoverInCurrentContextAsync <TRequest, TResponse>(
     this IClientDiscoveryInvoker invoker, UnaryMethod <TRequest, TResponse> method)
 {
     return((await invoker.DiscoverInCurrentContextAsync(MethodDiscoveryQuery.Create(method)))
            .Select(x => new DiscoveredOnlineUnaryMethod <TRequest, TResponse>(x)).ToList());
 }