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)
| 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. |
| 607 | func (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. |
no test coverage detected