@qiniu/miku-delivery-mp-ks
Version:
Kuaishou Mini Program SDK for Miku Delivery
57 lines (56 loc) • 2.26 kB
TypeScript
/**
* @file Context Info Container
* @desc 在流程中传递上下文信息,目前主要用于质量上报信息的传递
*/
export type ContextValue = {
/** 解析是不是走缓存 */
dnsResolveFromCache: boolean;
/** 解析请求总耗时,单位秒 */
dnsResolveTotalTime: number;
/** 内容下载请求的服务端 IP */
downloadReqIP: string;
/** 内容下载请求(在对应的 do 过程中)的重试次数 */
downloadRetryCount: number;
/** 内容下载页面(window)线程接收到请求头信息的时间点,单位 ms */
downloadReqMessageAt: number;
/** 内容下载请求建立连接时间点,单位 ms */
downloadConnectionAt: number;
/** TTFB - Time to First Byte 时间点,单位 ms */
downloadStartTransferAt: number;
/** Service Worker 线程接收到响应头信息的时间点,单位 ms */
downloadRespMessageAt: number;
/** fileTask ID */
downloadFileTaskID: string;
/** 请求发送到的 ECDN 节点的 ID */
downloadEltID: string;
/** 页面线程收到 req-head 信息的时间点,单位 ms */
hoWReqMessageAt: number;
/** PeerConnection Connect 时间点,单位 ms */
hoWPeerConnectionConnectAt: number;
/** DataChannel Open 时间点,单位 ms */
hoWDataChannelOpenAt: number;
/** TTFB - Time to First Byte 时间点,单位 ms */
hoWStartTransferAt: number;
/** Service Worker 线程收到 resp-head 信息的时间点,单位 ms */
hoWRespMessageAt: number;
/** 任务类型:CDN 任务为 `1`,直播任务为 `2` */
taskType: 1 | 2;
/** Task ID */
taskID: string;
/** 任务对应的业务域名 */
taskDomain: string;
/** 缓存匹配完成时间点,单位 ms */
taskCacheMatchAt: number;
/** 执行第一个 HTTP do 的时间点,单位 ms */
task1stHttpDoAt: number;
/** Result stream 准备好的时间点,单位 ms */
taskResultStreamAt: number;
/** Do ID */
doID: string;
};
export default class Context {
private value;
constructor(init?: Context);
set<K extends keyof ContextValue>(key: K, value: ContextValue[K]): void;
get<K extends keyof ContextValue>(key: K): ContextValue[K] | undefined;
}