code: func (sh *SyncHandler) addBlobToCopy(sb blob.SizedRef) bool {
  	sh.mu.Lock()
  	defer sh.mu.Unlock()
  	if _, dup := sh.needCopy[sb.Ref]; dup {
  		return false
  	}
  
  	sh.needCopy[sb.Ref] = sb.Size
  	sh.bytesRemain += int64(sb.Size)
  
  	// Non-blocking send to wake up looping goroutine if it's
  	// sleeping...
  	select {
  	case sh.wakec <- true:
  	default:
  	}
  	return true
  }
docs: // addBlobToCopy adds a blob to copy to memory (not to disk: that's enqueue).
  // It returns true if it was added, or false if it was a duplicate.