In the previous chapter, it was alluded to that core.async
operates at a lower level of abstraction when compared to other frameworks such as RxClojure or RxJava.
This is because most of the time we have to think carefully about the channels we are creating as well as what types and sizes of buffers to use, whether we need pub/sub functionality, and so on.
Not all applications require such level of control, however. Now that we are familiar with the motivations and main abstractions of core.async
we can embark into writing a minimal CES framework using core.async
as the underlying foundation.
By doing so, we avoid having to think about thread pool management as the framework takes care of that for us.
In this chapter, we will cover the following topics:
Building a CES framework using
core.async
as its underlying concurrency strategyBuilding an application that uses our CES framework
Understanding the trade-offs of the different approaches...