getRegisteredStorageProviders returns a copy of all registered storage providers. This is used internally by the App to build the list of available storage providers.
()
| 76 | // getRegisteredStorageProviders returns a copy of all registered storage providers. |
| 77 | // This is used internally by the App to build the list of available storage providers. |
| 78 | func getRegisteredStorageProviders() []StorageProvider { |
| 79 | registeredProvidersMu.Lock() |
| 80 | defer registeredProvidersMu.Unlock() |
| 81 | |
| 82 | // Return a copy to prevent external modification |
| 83 | p := make([]StorageProvider, 0, len(registeredProviders)) |
| 84 | for _, n := range slices.Sorted(maps.Keys(registeredProviders)) { |
| 85 | p = append(p, registeredProviders[n]) |
| 86 | } |
| 87 | |
| 88 | if len(p) != len(registeredProviders) { |
| 89 | panic("expected provider length mismatch") |
| 90 | } |
| 91 | |
| 92 | return p |
| 93 | } |
| 94 | |
| 95 | func commonThrottlingFlags(cmd *kingpin.CmdClause, limits *throttling.Limits) { |
| 96 | cmd.Flag("max-download-speed", "Limit the download speed.").PlaceHolder("BYTES_PER_SEC").FloatVar(&limits.DownloadBytesPerSecond) |