BUTNCNetwork.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. //
  2. // BUTNCNetwork.h
  3. // BUAdSDK
  4. //
  5. // Created by Siwant on 2019/12/17.
  6. // Copyright © 2019 bytedance. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. @class BUNetworkRequest;
  10. @class BUTNCServiceConfig;
  11. typedef void (^BUAdGetDomainsCompletion)(NSDictionary *_Nullable domains);
  12. NS_ASSUME_NONNULL_BEGIN
  13. __attribute__((objc_subclassing_restricted))
  14. @interface BUTNCNetwork : NSObject
  15. + (instancetype)sharedInstance;
  16. /// TNC容灾域名。key: 原host, value: 容灾host。eg. { @"is.snssdk.com": @"is-hl.snssdk.com" }
  17. - (NSDictionary *)domainsWithAppKey:(NSString *)appKey;
  18. /// TNC容灾域名的失败次数,单个host失败次数达到3次则不使用该容灾域名。key: 容灾host, value: 次数。eg. { @"is-hl.snssdk.com": @(3) }
  19. @property (nonatomic, strong, readonly) NSMutableDictionary *failDomains;
  20. /// 记录失败的容灾域名次数
  21. - (BOOL)recordFailCountDomain:(BUNetworkRequest *)networkRequest;
  22. /**
  23. TNC 切流获取域名
  24. */
  25. - (void)getDomainsWithConfig:(BUTNCServiceConfig *)config andCompletion:(__nullable BUAdGetDomainsCompletion)completion;
  26. @end
  27. NS_ASSUME_NONNULL_END