dolittle/DotNET.SDK

View on GitHub
Source/EventHorizon/Internal/SubscriptionsSubscribeMethod.cs

Summary

Maintainability
A
50 mins
Test Coverage
F
0%
// Copyright (c) Dolittle. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.

using Dolittle.Runtime.EventHorizon.Contracts;
using Dolittle.SDK.Services;
using Grpc.Core;
using static Dolittle.Runtime.EventHorizon.Contracts.Subscriptions;
using SubscriptionRequest = Dolittle.Runtime.EventHorizon.Contracts.Subscription;

namespace Dolittle.SDK.EventHorizon.Internal;

/// <summary>
/// Represents a wrapper for gRPC Subscriptions.Subscribe.
/// </summary>
public class SubscriptionsSubscribeMethod : ICanCallAUnaryMethod<SubscriptionRequest, SubscriptionResponse>
{
    /// <inheritdoc/>
    public AsyncUnaryCall<SubscriptionResponse> Call(SubscriptionRequest message, ChannelBase channel, CallOptions callOptions)
    {
        var client = new SubscriptionsClient(channel);
        return client.SubscribeAsync(message, callOptions);
    }
}