tool/TeamCity.Docker/ITaskRunner.cs (12 lines of code) (raw):
namespace TeamCity.Docker
{
using System;
using System.Threading.Tasks;
using IoC;
internal interface ITaskRunner<out TState> : ILogger
where TState : IDisposable
{
[NotNull] Task<Result> Run([NotNull] Func<TState, Task> handler);
[NotNull] Task<Result<T>> Run<T>(Func<TState, Task<T>> handler);
}
}