(meta driver.Meta)
| 204 | } |
| 205 | |
| 206 | func (dc *directoryCache) GetSortedObjects(meta driver.Meta) []model.Obj { |
| 207 | dc.mu.RLock() |
| 208 | if dc.dirtyFlags == 0 { |
| 209 | dc.mu.RUnlock() |
| 210 | return dc.sorted |
| 211 | } |
| 212 | dc.mu.RUnlock() |
| 213 | dc.mu.Lock() |
| 214 | defer dc.mu.Unlock() |
| 215 | |
| 216 | sorted := make([]model.Obj, len(dc.objs)) |
| 217 | copy(sorted, dc.objs) |
| 218 | dc.sorted = sorted |
| 219 | if dc.dirtyFlags&dirtyUpdate != 0 { |
| 220 | storage := meta.GetStorage() |
| 221 | if meta.Config().LocalSort { |
| 222 | model.SortFiles(sorted, storage.OrderBy, storage.OrderDirection) |
| 223 | } |
| 224 | model.ExtractFolder(sorted, storage.ExtractFolder) |
| 225 | } |
| 226 | dc.dirtyFlags = 0 |
| 227 | return sorted |
| 228 | } |
no test coverage detected