在AsyncHttpClient JDKFuture.get()AsyncHttpClient和超時
public V [More ...] get(long timeout, TimeUnit unit) {
V content = null;
try {
if (innerFuture != null) {
content = innerFuture.get(timeout, unit);
}
} catch (TimeoutException t) {
if (!contentProcessed.get() && timeout != -1 &&
((System.currentTimeMillis() - touch.get()) <= responseTimeoutInMs)) {
return get(timeout, unit);
}
爲什麼我們有2個超時?
1. timeout as param
2. responseTimeoutInMs
第二次超時會傷害我們,因爲即使在超時過期後呼叫也不會出現。它繼續遞歸調用get()。
一旦碰到responseTimeoutInMs,連接會關閉嗎?我們正在嘗試將其設置爲低於超時。
感謝您的解釋 - 看起來就像我們可以在沒有作者幫助的情況下一樣。 – Fakrudeen