MCPcopy
hub / github.com/syncthing/syncthing / RegisterFolderState

Method RegisterFolderState

lib/model/indexhandler.go:607–620  ·  view source on GitHub ↗

RegisterFolderState must be called whenever something about the folder changes. The exception being if the folder is removed entirely, then call Remove. The fset and runner arguments may be nil, if given folder is paused.

(folder config.FolderConfiguration, runner service)

Source from the content-addressed store, hash-verified

605// changes. The exception being if the folder is removed entirely, then call
606// Remove. The fset and runner arguments may be nil, if given folder is paused.
607func (r *indexHandlerRegistry) RegisterFolderState(folder config.FolderConfiguration, runner service) {
608 if !folder.SharedWith(r.conn.DeviceID()) {
609 r.Remove(folder.ID)
610 return
611 }
612
613 r.mut.Lock()
614 if folder.Paused {
615 r.folderPausedLocked(folder.ID)
616 } else {
617 r.folderRunningLocked(folder, runner)
618 }
619 r.mut.Unlock()
620}
621
622// folderPausedLocked stops a running index handler.
623// It is a noop if the folder isn't known or has not been started yet.

Callers 3

restartFolderMethod · 0.80
newFolderMethod · 0.80
ensureIndexHandlerMethod · 0.80

Calls 6

RemoveMethod · 0.95
folderPausedLockedMethod · 0.95
folderRunningLockedMethod · 0.95
SharedWithMethod · 0.80
UnlockMethod · 0.80
DeviceIDMethod · 0.65

Tested by

no test coverage detected