The code from DownloadMonitorService hardcode adapters and pooling logic. Each adapter specific pooling method should be moved to the corresponding IDownloadClientAdapter implementation instead
Note that I'm currently rewritting the handling of adapters as part of #465 and thus will probably replace the hardcoded switch from PollDownloadClientsAsync method there as it allows to query the NET dynamic injection thing to fetch adapter based on an implementation enumeration
Also, the pooling logic might be simplified by using specific adapters's GetItemsAsync (or replacing method GetQueueAsync for which implementation does not seems ready yet) and comparing those to pooled downloads instead of querying them directly from the pooling method
The code from
DownloadMonitorServicehardcode adapters and pooling logic. Each adapter specific pooling method should be moved to the correspondingIDownloadClientAdapterimplementation insteadNote that I'm currently rewritting the handling of adapters as part of #465 and thus will probably replace the hardcoded switch from
PollDownloadClientsAsyncmethod there as it allows to query the NET dynamic injection thing to fetch adapter based on an implementation enumerationAlso, the pooling logic might be simplified by using specific adapters's
GetItemsAsync(or replacing methodGetQueueAsyncfor which implementation does not seems ready yet) and comparing those to pooled downloads instead of querying them directly from the pooling method