Async "one op at a time"
Naming is hard. Options: Serializer (but not in the common sense). Queue (but queueing work, not as a data structure).
The idea is to wrap an asynchronous delegate with logic so that it can be invoked multiple times concurrently, but the underlying delegate is only invoked one at a time, with the invocations strictly in order of request.
This is a very generalized fix for #163 (intended as a modification to the consuming code, not as a change to AsyncCollection<T> itself).
Enqueue when added to serial list of work, dequeue when removing the element.
On Tue, Feb 26, 2019, 8:25 AM Stephen Cleary [email protected] wrote:
Naming is hard. Options: Serializer (but not in the common sense). Queue (but queueing work, not as a data structure).
The idea is to wrap an asynchronous delegate with logic so that it can be invoked multiple times concurrently, but the underlying delegate is only invoked one at a time, with the invocations strictly in order of request.
This is a very generalized fix for #163 https://github.com/StephenCleary/AsyncEx/issues/163 (intended as a modification to the consuming code, not as a change to AsyncCollection<T> itself).
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/StephenCleary/AsyncEx/issues/166, or mute the thread https://github.com/notifications/unsubscribe-auth/AAbT_X5mpZ_10RBSik1j1KP-sNvOX660ks5vRTW3gaJpZM4bSKo_ .
Currently I'm playing with a type name of AsyncInvokeQueue<T> with the method name InvokeAsync.