You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
from @Ruhrpottpatriot:
I find it a bit counter intuitive, how you handled the keep alive process. If I understood it correctly, you call OpenAnsyc() and that Task only completes when the connection is closed.
Maybe change the code, so that every public async method accepts a CancellationToken and the receive Task is decoupled from ConnectAsync().
TaskCompletionSource could be an option. I'll look into it.
Additional information regarding a CancellationToken:
In TAP, cancellation is optional for both asynchronous method implementers and asynchronous method consumers. If an operation allows cancellation, it exposes an overload of the asynchronous method that accepts a cancellation token (CancellationToken instance). By convention, the parameter is named cancellationToken.
Activity
Ruhrpottpatriot commentedon Oct 11, 2017
Additional information regarding a
CancellationToken:From: https://docs.microsoft.com/en-us/dotnet/standard/asynchronous-programming-patterns/task-based-asynchronous-pattern-tap
Ruhrpottpatriot commentedon Oct 17, 2017
I also would suggest, that we add a new boolean property indicating whether the connection is open or not.