src/WebJobs.Extensions.DurableTask/EntityScheduler/Proxy/IEntityProxyContext.cs (11 lines of code) (raw):
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the MIT License. See LICENSE in the project root for license information.
using System.Threading.Tasks;
namespace Microsoft.Azure.WebJobs.Extensions.DurableTask
{
/// <summary>
/// Abstract entity proxy context.
/// </summary>
public interface IEntityProxyContext
{
/// <summary>
/// Call entity function.
/// </summary>
/// <param name="entityId">Entity id.</param>
/// <param name="operationName">Entity operation name.</param>
/// <param name="operationInput">Entity input value.</param>
/// <returns>A <see cref="Task"/> representing the result of the asynchronous operation.</returns>
Task CallAsync(EntityId entityId, string operationName, object operationInput);
/// <summary>
/// Call entity function.
/// </summary>
/// <typeparam name="TResult">Result type.</typeparam>
/// <param name="entityId">Entity id.</param>
/// <param name="operationName">Entity operation name.</param>
/// <param name="operationInput">Entity input value.</param>
/// <returns>A <see cref="Task{TResult}"/> representing the result of the asynchronous operation.</returns>
Task<TResult> CallAsync<TResult>(EntityId entityId, string operationName, object operationInput);
/// <summary>
/// Signal entity function.
/// </summary>
/// <param name="entityId">Entity id.</param>
/// <param name="operationName">Entity operation name.</param>
/// <param name="operationInput">Entity input value.</param>
void Signal(EntityId entityId, string operationName, object operationInput);
}
}