This article shows in a simple way the foundation of libraries like DurableTask and its descendant Azure Durable Functions. It starts with the history of exception based flow control and ends by showing how Task-based API can be used to provide a similar interruptible flow with no abusive exception usage. Dark ages of exception-driven programming … Continue reading Unexceptional non-blocking task-based flow control in .NET
If you're developing applications in .NET, you probably heard about all the new shiny part of the framework, like Pipelines which enable you to process IO-related processing with more IO awareness, still leaving your code on quite high level. Another part of the framework that is mentioned recently are channels that are used to pass … Continue reading Channels, ring buffers and logs
This post describes my work on trying to build a faster MemoryPool for .NET called Thruster. There are existing implementations, like the one provided by System.Memory or Kestrel, the new and shiny .NET web server. Let's see what approached did I take and how it ended. What is a MemoryPool? The memory pool is a … Continue reading Thruster, building a not so fast memory pool
Why are they still working on the whole async-await thing? What is Task, Async Await, ValueTask, IValueTaskSource ? How to keep your sanity in modern .NET world?
We saw that the Delay operation is either completed or results in a never ending task, that nobody ever completes. Could we make it easier and provide a better way for delaying operation?
TL;DR We've already seen here and here that with async-await one could easily sketch an orchestration/saga for any process that should be both, robust and resilient. It's time to take a look how a scheduler for such a process could be implemented. Delay with no Task Usually, when we want to delay an action in … Continue reading Implementing a scheduler for your orchestrations
TL;DR I've already shown here that with some trickery you can write orchestrations in C# based on async-await. It's time to revisit this idea, now with a custom orchestration of mine. Show me the code! The orchestration is based on the event sourcing infrastructure built by me. This project is not public (yet) but it's … Continue reading Orchestrating processes for fun and profit