Files
sqltoolsservice/external/Microsoft.SqlTools.Hosting.v2/Protocol/IRequestSender.cs
Karl Burtram ccf95aed77 Move unused forked code to external directory (#1192)
* Move unused forked code to external directory

* Fix SLN build errors

* Add back resource provider core since it's referenced by main resource provider project

* Update PackageProjects step of pipeline
2021-04-16 15:33:35 -07:00

28 lines
1.1 KiB
C#

//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
using System.Threading.Tasks;
using Microsoft.SqlTools.Hosting.Contracts;
namespace Microsoft.SqlTools.Hosting.Protocol
{
/// <summary>
/// Interface for objects that can requests via the JSON RPC channel
/// </summary>
public interface IRequestSender
{
/// <summary>
/// Sends a request over the JSON RPC channel. It will wait for a response to the message
/// before completing.
/// </summary>
/// <param name="requestType">Configuration of the request to send</param>
/// <param name="requestParams">Parameters for the request to send</param>
/// <typeparam name="TParams">Type of the parameters for the request, defined by <paramref name="requestType"/></typeparam>
/// <typeparam name="TResult"></typeparam>
/// <returns></returns>
Task<TResult> SendRequest<TParams, TResult>(RequestType<TParams, TResult> requestType, TParams requestParams);
}
}