In one of the fsharp project that I was part of in early this year, we encountered an interesting scenario where we need to do serialisation of a fsharp record type from the query string (and multi-part form) in Suave, and the out of the box model binding support didn’t suit our requirements.
So, we rolled out our own, and the solution came from a library which was not intended to solve this problem.
Almost eight years back Tomas Petricek wrote a blog post introducing BlockingQueueAgent and followed it up with another blog post on how to apply it to solve an Image Processing problem using the pipeline concurrency pattern.
In this blog post, we are going to learn how to port this example using Hopac's BoundedMb abstraction, aka Bounded Mailbox.
Image processing pipeline As defined by Tomas in his blog post, the image processing pipeline works as depicted in the below image.