BBANetworkQualityStatusManager.h
1.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//
// 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