code: func (s *sentDownloadState) update(folder string, pullers []*sharedPullerState) []protocol.FileDownloadProgressUpdate {
  	fs, ok := s.folderStates[folder]
  	if !ok {
  		fs = &sentFolderDownloadState{
  			files: make(map[string]*sentFolderFileDownloadState),
  		}
  		s.folderStates[folder] = fs
  	}
  	return fs.update(pullers)
  }
docs: // update receives a folder, and a slice of pullers that are currently available
  // for the given folder, and according to the state of what we've seen before
  // returns a set of updates which we should send to the remote device to make
  // it aware of everything that we currently have available.