По какой-то причине, при 27 запросах в секунду, мы иногда начинаем видеть проблемы с okhttp, и мы заметили 5 запросов на ограничение хоста. Мы говорим с api, который иногда бывает неаккуратным/тайм-аутом и т. Д.realCall.cancel показывает, что он «может» закрыть мое соединение
Я заметил, что мы не отменяем запросы на тайм-аут, и они, похоже, все еще в полете. (т. е. я хочу начать использовать RealCall.cancel)
при просмотре этого, хотя RealCall.cancel вызывает engine.cancel(), если движок не равен null, который вызывает streamAllocation.cancel(), который вызывает следующий код. .
public void cancel() {
HttpStream streamToCancel;
RealConnection connectionToCancel;
synchronized (connectionPool) {
canceled = true;
streamToCancel = stream;
connectionToCancel = connection;
}
if (streamToCancel != null) {
streamToCancel.cancel();
} else if (connectionToCancel != null) {
connectionToCancel.cancel();
}
}
Это выглядит очень страшно, так как я просто хотел отменить один запрос, а не все соединение. то есть. просто поток http2 stream может быть, но я определенно хочу, чтобы соединение было живым (я думаю).
спасибо, Дин