(conn protocol.Connection, p *protocol.DownloadProgress)
| 2410 | } |
| 2411 | |
| 2412 | func (m *model) DownloadProgress(conn protocol.Connection, p *protocol.DownloadProgress) error { |
| 2413 | deviceID := conn.DeviceID() |
| 2414 | |
| 2415 | m.mut.RLock() |
| 2416 | cfg, ok := m.folderCfgs[p.Folder] |
| 2417 | m.mut.RUnlock() |
| 2418 | |
| 2419 | if !ok || !cfg.SharedWith(deviceID) { |
| 2420 | return nil |
| 2421 | } |
| 2422 | |
| 2423 | m.mut.RLock() |
| 2424 | downloads := m.deviceDownloads[deviceID] |
| 2425 | m.mut.RUnlock() |
| 2426 | downloads.Update(p.Folder, p.Updates) |
| 2427 | state := downloads.GetBlockCounts(p.Folder) |
| 2428 | |
| 2429 | m.evLogger.Log(events.RemoteDownloadProgress, map[string]interface{}{ |
| 2430 | "device": deviceID.String(), |
| 2431 | "folder": p.Folder, |
| 2432 | "state": state, |
| 2433 | }) |
| 2434 | |
| 2435 | return nil |
| 2436 | } |
| 2437 | |
| 2438 | func (m *model) deviceWasSeen(deviceID protocol.DeviceID) { |
| 2439 | m.mut.RLock() |
nothing calls this directly
no test coverage detected