But the bigger move here is to step away from our old single-threaded SynchonizationContext, which was based on a Stephen Toub article, towards one the is based off Stephen Cleary’s excellent work with AsyncEx.
This gives us both a SynchronizationContext and a TaskScheduler.
This gives us both a SynchronizationContext and a TaskScheduler.
Comments
I find it sometimes more useful to keep open a single ADR for the PR, over to keep replacing it as decisions change during implementation of the idea.
That will grow as we make out workflow additions.
It’s also internal to the package.
For example, I would argue that our Reactor (non-async) is better than our Proactor (async) for Kafka.
Confluent Kafka does not have an async consumer - and from GitHub issues, I assume never will.
I would also caution on MSSQL. It needs love and probably to be replaced with an RDBMS wrapper that also picks up Postgres.
We do have plans to support other Redis clients that don’t have that constraint.