Mercurial > pub > ImplabNet
view Implab.Test/MockPollComponent.cs @ 262:f1696cdc3d7a v3 v3.0.8
Added IInitializable.Initialize() overload
Added IRunnable.Start(), IRunnable.Start() overloads
Fixed cancellation of the current operation when Stop() is called
More tests
author | cin |
---|---|
date | Mon, 16 Apr 2018 02:12:39 +0300 |
parents | 547a2fc0d93e |
children |
line wrap: on
line source
using System; using System.Threading; using System.Threading.Tasks; using Implab.Components; namespace Implab.Test { public class MockPollComponent : PollingComponent { public Func<CancellationToken,Task> PollWorker { get; set;} public Func<CancellationToken, Task> StartWorker { get; set; } public Func<CancellationToken, Task> StopWorker { get; set; } public MockPollComponent(bool initialized) : base(initialized) { } protected async override Task Poll(CancellationToken ct) { if(PollWorker!= null) await PollWorker.Invoke(ct); } protected async override Task StopInternalAsync(CancellationToken ct) { await base.StopInternalAsync(ct); if (StopWorker != null) await StopWorker.Invoke(ct); } protected async override Task StartInternalAsync(CancellationToken ct) { await base.StartInternalAsync(ct); if (StartWorker != null) await StartWorker.Invoke(ct); } } }