heapManager h_state case
Vladimir Bauer
3 years ago
| 13 | 13 | h_iter |
| 14 | 14 | h_drain |
| 15 | 15 | h_fix |
| 16 | h_state | |
| 16 | 17 | h_end |
| 17 | 18 | ) |
| 18 | 19 | |
| 85 | 86 | close(data.iter) |
| 86 | 87 | case h_fix: |
| 87 | 88 | heap.Fix(&bHeap, req.data.(int)) |
| 89 | case h_state: | |
| 90 | ch := req.data.(chan<- bool) | |
| 91 | ch <- sync || l != bHeap.Len() | |
| 88 | 92 | case h_end: |
| 89 | 93 | ch := req.data.(chan<- interface{}) |
| 90 | 94 | if ch != nil { |
| 120 | 124 | m <- heapRequest{cmd: h_push, data: index} |
| 121 | 125 | } |
| 122 | 126 | |
| 127 | func (m heapManager) state(ch chan<- bool) { | |
| 128 | m <- heapRequest{cmd: h_state, data: ch} | |
| 129 | } | |
| 130 | ||
| 123 | 131 | func (m heapManager) end(ch chan<- interface{}) { |
| 124 | 132 | m <- heapRequest{cmd: h_end, data: ch} |
| 125 | 133 | } |