view Implab/Components/IRunnable.cs @ 203:4d9830a9bbb8 v2

Added 'Fail' method to RunnableComponent which allows component to move from Running to Failed state. Added PollingComponent a timer based runnable component More tests Added FailPromise a thin class to wrap exceptions Fixed error handling in SuccessPromise classes.
author cin
date Tue, 18 Oct 2016 17:49:54 +0300
parents 240aa6994018
children 8200ab154c8a
line wrap: on
line source

using System;

namespace Implab.Components {
    public interface IRunnable {
        /// <summary>
        /// Starts this instance.
        /// </summary>
        IPromise Start();

        /// <summary>
        /// Stops this instance. After the instance is stopped it can't be started again, stopping should be treated as gracefull and async dispose.
        /// </summary>
        IPromise Stop();

        ExecutionState State { get; }

        Exception LastError { get; }
    }
}