BBANetworkQualityStatusManager.h 1.54 KB
//
//  BBANetworkQualityStatusManager.h
//  BBAAPIRequest
//
//  Created by liumuye on 2021/3/5.
//
//  Copyright © 2021年 baidu. All rights reserved.

#import <Foundation/Foundation.h>
#import <BBAAPIRequest/BBAAPIRequestManager.h>

NS_ASSUME_NONNULL_BEGIN

// 网络探测模块探测出的网络质量,好的网络质量,无丢包率,无DNS延迟
extern int const APIREQUEST_GOOD_NETWORK_QUALITY;
// 坏的网络质量,可以理解成弱网,有丢包率,有DNS延迟
extern int const APIREQUEST_BAD_NETWORK_QUALITY;
// 不可用的网络质量,也可以理解成弱网,不通的网络,比如飞行模式,无信号,网络本身不通等
extern int const APIREQUEST_OFFLINE_NETWORK_QUALITY;
// 上述三种状态以外的状态,未知错误,也可以理解成弱网
extern int const APIREQUEST_UNKNOWN_NETWORK_QUALITY;

/// 网络质量状态管理(维护网络质量、通知各业务方、维护QUIC开启状态等)
@interface BBANetworkQualityStatusManager : NSObject

/// 单例
+ (instancetype)sharedInstance;

/// 当前网络下网络质量
@property (atomic, assign, readonly) int networkQuality;

/// 当前网络是否在弱网下
@property (atomic, assign, readonly) BOOL isWeakNet;

/// QUIC开启状态
@property (atomic, assign, readonly) APIRequestQuicStatus quicStatus;

#pragma mark Multipath

/// 移动链路(4/5G)网络网络质量
@property (atomic, assign, readonly) int mobileNetworkQuliaty;

/// 移动链路(4/5G)网络是否好网
@property (atomic, assign, readonly) BOOL isMobileGoodNet;

@end

NS_ASSUME_NONNULL_END