This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-06-16
Channels
- # announcements (33)
- # atom-editor (1)
- # aws (21)
- # babashka (174)
- # babashka-sci-dev (2)
- # beginners (59)
- # calva (4)
- # chlorine-clover (9)
- # clj-kondo (51)
- # clojars (7)
- # clojure (86)
- # clojure-czech (4)
- # clojure-europe (21)
- # clojure-france (6)
- # clojure-nl (1)
- # clojure-uk (2)
- # conjure (7)
- # core-async (3)
- # core-logic (3)
- # cursive (10)
- # data-science (8)
- # datalevin (14)
- # datomic (12)
- # events (1)
- # fulcro (5)
- # graalvm (10)
- # gratitude (3)
- # honeysql (3)
- # hyperfiddle (3)
- # introduce-yourself (4)
- # joyride (3)
- # leiningen (3)
- # malli (13)
- # minecraft (15)
- # music (1)
- # off-topic (40)
- # pathom (16)
- # polylith (28)
- # portal (25)
- # rdf (15)
- # remote-jobs (3)
- # shadow-cljs (23)
- # specter (1)
- # sql (5)
- # tools-deps (25)
- # xtdb (31)
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?
https://docs.oracle.com/en/java/javase/18/docs/api/java.logging/java/util/logging/Logger.html#log(java.util.logging.Level,java.lang.String)