(f func() hash.Hash, c chan checkSumCom)
| 246 | } |
| 247 | |
| 248 | func writeChecksum(f func() hash.Hash, c chan checkSumCom) { |
| 249 | go func() { |
| 250 | h := f() |
| 251 | for { |
| 252 | select { |
| 253 | case b := <-c: |
| 254 | if b.n == 0 { |
| 255 | c <- checkSumCom{checksum: fmt.Sprintf("%x", h.Sum(nil))} |
| 256 | return |
| 257 | } else { |
| 258 | h.Write(b.buf[0:b.n]) |
| 259 | } |
| 260 | } |
| 261 | } |
| 262 | }() |
| 263 | } |