Files
BitTorrentSwift/BitTorrent/Utilities/CombinedNetworkSpeedTracker.swift
T
2017-08-29 11:29:55 +01:00

45 lines
1.1 KiB
Swift

//
// CombinedNetworkSpeedTracker.swift
// BitTorrent
//
// Created by Ben Davis on 13/08/2017.
// Copyright © 2017 Ben Davis. All rights reserved.
//
import Foundation
class CombinedNetworkSpeedTracker: NetworkSpeedTrackable {
let trackers: () -> [NetworkSpeedTracker]
init(trackers: @escaping () -> [NetworkSpeedTracker]) {
self.trackers = trackers
}
// MARK: - NetworkSpeedTrackable
var totalNumberOfBytes: Int {
var result = 0
for tracker in trackers() {
result += tracker.totalNumberOfBytes
}
return result
}
func numberOfBytesDownloaded(since date: Date) -> Int {
var result = 0
for tracker in trackers() {
result += tracker.numberOfBytesDownloaded(since: date)
}
return result
}
func numberOfBytesDownloaded(over timeInterval: TimeInterval) -> Int {
var result = 0
for tracker in trackers() {
result += tracker.numberOfBytesDownloaded(over: timeInterval)
}
return result
}
}