Fork me on GitHub

Okay, I'm back! My question is just, have I designed any obviously bad races this time? I used @hiredman 's suggestion to create a buffering loop that copies from in to out. I didn't end up using a juc LinkedBlockingQueue, as I needed to surface more information than just buffer size -- I'm wondering if I'm missing some semantics that the LinkedBlockingQueue would have provided in hiredman's example. Additionally, I originally wrote this by closing over the state in the loop construction function, but I need to provide (reads from) queue-state to another page, so I def'd that state as an atom; my hope is that I have not written any race conditions there, since I only ever update that state in a single go-loop.


Is java.util.logging.Logger#log a blocking operation? There is guidelines/recommendations about core.async and logging?,java.lang.String)

Jan K14:06:47

I think whether it's blocking or not depends on the Logger implementation and config that you use. In most cases I don't think you need to worry about it.