buffer

added

ns
clojure.core.async

type
function

(buffer n)

Returns a fixed buffer of size n. When full, puts will block/park.

                user=> (def c (chan (buffer 3)))
#'user/c

user=> (go (<! (timeout 20000))
           (println "Unblocking buffer")
           (doseq [_ (range 2)]
             (<! c)))

#<ManyToManyChannel clojure.core.async.impl.channels.ManyToManyChannel@5c350b54>

user=> (doseq [_ (range 5)] (println (>!! c true)))
true
true
true
Unblocking buffer
true
true
nil