package com.xiaomi.infra.galaxy.metrics.client;
import com.xiaomi.infra.galaxy.metrics.thrift.ErrorCode;
import com.xiaomi.infra.galaxy.metrics.thrift.ServiceException;
import libthrift091.transport.TTransportException;
/**
* Copyright 2015, Xiaomi.
* All rights reserved.
* Author: linshangquan@xiaomi.com
*/
public class RetryUtils {
public static ErrorCode getErrorCode(Throwable cause) {
ErrorCode code = ErrorCode.UNKNOWN;
if (cause instanceof ServiceException) {
ServiceException se = (ServiceException) cause;
code = se.getErrorCode();
} else if (cause instanceof HttpTTransportException) {
HttpTTransportException te = (HttpTTransportException) cause;
code = te.getErrorCode();
} else if (cause instanceof TTransportException) {
code = ErrorCode.TTRANSPORT_ERROR;
}
return code;
}
}