Skip to content

Releases: wintoncode/Winton.Extensions.Threading.Actor

1.10.0

18 Jan 11:24
4ad8479

Choose a tag to compare

What's Changed

  • feat(Winton.Extensions.Threading.Actor): allow scheduler to enqueue work without suppressed transaction scope wrapper by @rars in #41

Full Changelog: 1.9.0...1.10.0

1.9.0

17 Jan 11:45
5ef73d8

Choose a tag to compare

What's Changed

  • feat(Winton.Extensions.Threading.Actor): allow opt-out of transaction scope wrapping in enqueue work by @rars in #40

Full Changelog: 1.8.0...1.9.0

1.8.0

12 Oct 10:11
4ebc258

Choose a tag to compare

Bug fixes

  • Fix #34: startup or enqueued work that defined a new transaction scope could restore a completed ambient transaction scope

1.7.0

23 Jun 15:00
6550ab1

Choose a tag to compare

Add a suppress TransactionScope for start/stop work

1.6.0

17 Jun 16:38
4d39c6e

Choose a tag to compare

  • Make sure there is no ambient transaction when running actor work

Version 1.5.0

01 Mar 11:10
173bee3

Choose a tag to compare

Internal changes only to improve performance when multiple work items are queued up.

Version 1.4.0

08 Feb 18:56
fc37902

Choose a tag to compare

This release incorporates a simplification of the codebase with the aim of improving performance and eliminating long-standing bugs.

It also introduces explicit support for NET Standard 2.0.

Overall, the changes made have reduced locking and complexity, which, apart from anything, has made it easier to track down long-standing spurious test failures and bugs. Performance isn't monumentally better but confidence that things are working correctly has been increased somewhat.

In detail:

  • Removed state machine in ActorImpl and merged ActorImpl into Actor;-
  • Refined ActorTaskScheduler and the way the kind of task being executed is communicated so that using async state is no longer necessary;
  • Replaced use of Queue<> in ActorTaskScheduler with something that easily allows putting something at the front, which simplified some logic;
  • Made use of pause/resume functionality in ActorTaskScheduler to simplify starting an Actor;
  • Made locking in ActorTaskScheduler more fine-grained;
  • Used UnsafeQueueUserWorkItem on platforms that support it.

Version 1.3.1

04 Oct 16:35

Choose a tag to compare

Bug fix release.

Version 1.3.0

04 Oct 10:30

Choose a tag to compare

Added a means of awaiting on an actor stopping via IActor.StoppedTask.

Version 1.2.0

20 Jun 13:59

Choose a tag to compare

A minor release incorporating an improvement to the way that pause/resume worked.