-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathIDotPythonModule.cs
More file actions
22 lines (18 loc) · 828 Bytes
/
Copy pathIDotPythonModule.cs
File metadata and controls
22 lines (18 loc) · 828 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using DotPython.Contracts;
namespace DotPython;
/// <summary>Represents one runtime-owned instance of a compiled DotPython module.</summary>
public interface IDotPythonModule : IAsyncDisposable
{
/// <summary>Gets the static export contract implemented by this module.</summary>
PythonModuleContract Contract { get; }
/// <summary>Invokes a contract-defined function that returns no CLR value.</summary>
ValueTask InvokeAsync(
PythonFunctionInvocation invocation,
CancellationToken cancellationToken = default
);
/// <summary>Invokes a contract-defined function and converts its result to <typeparamref name="TResult"/>.</summary>
ValueTask<TResult> InvokeAsync<TResult>(
PythonFunctionInvocation invocation,
CancellationToken cancellationToken = default
);
}