Fully implemented the ProgressionTracker and created some NMock-assisted unit tests for validating its proper functioning

git-svn-id: file:///srv/devel/repo-conversion/nusu@35 d2e56fa2-650e-0410-a79f-9358c0239efd
This commit is contained in:
Markus Ewald 2007-07-09 21:41:21 +00:00
parent 344e5fac53
commit 850db0cded
6 changed files with 472 additions and 29 deletions

View file

@ -30,8 +30,8 @@ namespace Nuclex.Support.Scheduling {
/// The receive should honor the abort request and stop whatever it is
/// doing as soon as possible. The method does not impose any requirement
/// on the timeliness of the reaction of the running process, but implementers
/// are advised to not ignore the abort request and try to design their code
/// in such a way that it can be stopped in a reasonable time
/// are advised to not ignore the abort request and urged to try and design
/// their code in such a way that it can be stopped in a reasonable time
/// (eg. within 1 second of the abort request).
/// </remarks>
void AsyncAbort();

View file

@ -69,7 +69,8 @@ namespace Nuclex.Support.Scheduling {
/// <summary>Exception that occured while the operation was executing</summary>
/// <remarks>
/// If this field is null, it is assumed that no exception has occured
/// in the background process. When it is set, the End() method will
/// in the background process. If it is set, however, the End() method will
/// re-raise the exception to the calling thread when it is called.
/// </remarks>
public Exception OccuredException {
get { return this.occuredException; }
@ -82,8 +83,7 @@ namespace Nuclex.Support.Scheduling {
// We allow the caller to set the exception multiple times. While I certainly
// can't think of a scenario where this would happen, throwing an exception
// in that case seems worse. The caller might just be executing an exception
// handling block and locking the operation instance could cause all even
// more problems.
// handling block and locking + throwing here could cause even more problems.
this.occuredException = exception;
}