(size BufferCap)
| 11 | } |
| 12 | |
| 13 | func NewBatchingChannel(size BufferCap) *BatchingChannel { |
| 14 | if size == None { |
| 15 | panic("channels: BatchingChannel does not support unbuffered behaviour") |
| 16 | } |
| 17 | if size < 0 && size != Infinity { |
| 18 | panic("channels: invalid negative size in NewBatchingChannel") |
| 19 | } |
| 20 | ch := &BatchingChannel{ |
| 21 | input: make(chan interface{}), |
| 22 | output: make(chan interface{}), |
| 23 | length: make(chan int), |
| 24 | size: size, |
| 25 | } |
| 26 | go ch.batchingBuffer() |
| 27 | return ch |
| 28 | } |
| 29 | |
| 30 | func (ch *BatchingChannel) In() chan<- interface{} { |
| 31 | return ch.input |
searching dependent graphs…