/**
*
* @author yangchong
* email : yangchong211@163.com
* time : 2019/07/22
* desc : EventListener子类
* revise:
*
*/
public class NetworkListener extends EventListener {
private static final String TAG = "NetworkEventListener";
private static AtomicInteger mNextRequestId = new AtomicInteger(0);
private String mRequestId ;
public static Factory get(){
Factory factory = new Factory() {
@NotNull
@Override
public EventListener create(@NotNull Call call) {
return new NetworkListener();
}
};
return factory;
}
@Override
public void callStart(@NotNull Call call) {
super.callStart(call);
//mRequestId = mNextRequestId.getAndIncrement() + "";
//getAndAdd,在多线程下使用cas保证原子性
mRequestId = String.valueOf(mNextRequestId.getAndIncrement());
ToolLogUtils.i(TAG+"-------callStart---requestId-----"+mRequestId);
saveEvent(NetworkTraceBean.CALL_START);
saveUrl(call.request().url().toString());
}
@Override
public void dnsStart(@NotNull Call call, @NotNull String domainName) {
super.dnsStart(call, domainName);
ToolLogUtils.d(TAG, "dnsStart");
saveEvent(NetworkTraceBean.DNS_START);
}
@Override
public void dnsEnd(@NotNull Call call, @NotNull String domainName, @No