Only create one OkHttpClient per ReconnectingWebSocket
Summary: Changelog: [Internal]- Share the OkHttpClient within the ReconnectingWebSocket Reviewed By: makovkastar Differential Revision: D30763398 fbshipit-source-id: cda931ef83de48075949917b6bd8bc92b5fc2ae8
This commit is contained in:
Родитель
5683932862
Коммит
9f55bda50b
|
@ -41,6 +41,7 @@ public final class ReconnectingWebSocket extends WebSocketListener {
|
|||
|
||||
private final String mUrl;
|
||||
private final Handler mHandler;
|
||||
private final OkHttpClient mOkHttpClient;
|
||||
private boolean mClosed = false;
|
||||
private boolean mSuppressConnectionErrors;
|
||||
private @Nullable WebSocket mWebSocket;
|
||||
|
@ -56,6 +57,12 @@ public final class ReconnectingWebSocket extends WebSocketListener {
|
|||
mMessageCallback = messageCallback;
|
||||
mConnectionCallback = connectionCallback;
|
||||
mHandler = new Handler(Looper.getMainLooper());
|
||||
mOkHttpClient =
|
||||
new OkHttpClient.Builder()
|
||||
.connectTimeout(10, TimeUnit.SECONDS)
|
||||
.writeTimeout(10, TimeUnit.SECONDS)
|
||||
.readTimeout(0, TimeUnit.MINUTES) // Disable timeouts for read
|
||||
.build();
|
||||
}
|
||||
|
||||
public void connect() {
|
||||
|
@ -63,15 +70,8 @@ public final class ReconnectingWebSocket extends WebSocketListener {
|
|||
throw new IllegalStateException("Can't connect closed client");
|
||||
}
|
||||
|
||||
OkHttpClient httpClient =
|
||||
new OkHttpClient.Builder()
|
||||
.connectTimeout(10, TimeUnit.SECONDS)
|
||||
.writeTimeout(10, TimeUnit.SECONDS)
|
||||
.readTimeout(0, TimeUnit.MINUTES) // Disable timeouts for read
|
||||
.build();
|
||||
|
||||
Request request = new Request.Builder().url(mUrl).build();
|
||||
httpClient.newWebSocket(request, this);
|
||||
mOkHttpClient.newWebSocket(request, this);
|
||||
}
|
||||
|
||||
private synchronized void delayedReconnect() {
|
||||
|
|
Загрузка…
Ссылка в новой задаче