dotnet / dotnet/Docker.DotNet

Question: Why IProgress<Message> and not Func<Message, Task> or similar in MonitorEventsAsync method

Open
#524 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
C#
Stars
2.4k
Forks
416
PR merge metrics
No merged PRs in 30d

Description

Hi,

First thank you for this nice, useful and not at all simple project to implement ❤️

I have a question regarding `MonitorEventsAsync` method.
From what I know about `IProgess` one cannot consume callbacks that return Tasks, because `Progress` accepts `Action` as input.

I understand that `IProgess` is well established pattern for reporting and that drew your [decision](https://github.com/dotnet/Docker.DotNet/issues/108) to go for it , but beside that reasoning what would be considered a benefit compared to accepting a `Func` as an input. That func could be awaited without the need to wrap things into `Task.Run()` which for me would be a reason to go with it instead.

I am mostly asking this for my sake in case I am missing something, and if my reasoning here is wrong then I have a chance to learn something that I should know.

Thanks,
Mirza

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.