WAPerformanceForecast
NewiOSpublic struct WAPerformanceForecast : SendableThe performance forecast for a connection setup to the remote device.
Declaration
public struct WAPerformanceForecast : Sendable {
/// The time the forecast was generated.
public let timestamp: Date
/// The time the forecast was generated, using a local monotonically increasing clock.
public let localTimestamp: ContinuousClock.Instant
/// The estimated signal strength of the remote device.
///
/// The resulting value can be between `0.0` (weakest) and `1.0` (strongest), or it can be `nil` if the system can't measure the value.
public let signalStrength: Double?
/// The highest throughput a connection from the local device to the remote device is capable of under ideal conditions, given the hardware capabilities of the local device.
/// The actual throughput achieved can be lower in the presence of other active connections.
///
/// The result is in `Mbps` and can be `nil` if the system can't calculate it.
public let localThroughputCeiling: Double?
/// The estimated average throughput capacity of the local device for a connection setup to the remote device.
///
/// The result is in `Mbps` and can be `nil` if the system can't calculate the capacity.
public let localThroughputCapacity: Double?
/// The estimated normalized ratio of the local throughput capacity and the local throughput ceiling.
///
/// This ratio reflects the estimated throughput capability for a connection setup to the remote device as a value between `0.0` and `1.0`.
public let localThroughputCapacityRatio: Double?
/// The estimated normalized ratio of the local Wi-Fi Infrastructure throughput capacity and the local Wi-Fi Infrastructure throughput ceiling, if a Wi-Fi Aware connection is setup to the remote device.
///
/// This ratio reflects the estimated throughput capability for a connection setup to the remote device as a value between `0.0` and `1.0`.
public let localInfrastructureThroughputCapacityRatio: Double?
/// The highest forecasted packet latency due to this device's unavailability.
///
/// This only considers the latency caused by time periods where this local device is not able to communicate to the other device via Wi-Fi Aware.
/// Additional latency can be caused by channel or RF conditions.
public let unavailabilityLatencyCeiling: Duration?
}