Re: put! on a full channel

2014-01-15 Thread t x
This is very helpful. Initially, I tried: (let [c (async/chan 2)] (async/put! c 1) (async/put! c 1) (async/put! c 1)) and thought "oh, it's unbounded." Then, after reading your message, I tried: (let [c (async/chan 2)] (doseq [x (range 2048)] (async/put! c 1))) and it's clear th

Re: put! on a full channel

2014-01-15 Thread Timothy Baldridge
Channels consist of 3 "things" 1) pending put queue 2) pending take queue 3) buffer What will happen is that the async/put! will be put into the pending put queue and sit there until either the buffer has room, or a take handles the put. These pending operation queues can be seen as unbounded qu

put! on a full channel

2014-01-15 Thread t x
Hi, Let c be a channel that is neither dropping nor slidding. Now, furthermore, let c be full. Lastly, suppose (async/put! c ...) is executed. Does the clojure async spec provide guarnatees on what happens? Thanks! -- -- You received this message because you are subscribed to the Go