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 String mUrl;
|
||||||
private final Handler mHandler;
|
private final Handler mHandler;
|
||||||
|
private final OkHttpClient mOkHttpClient;
|
||||||
private boolean mClosed = false;
|
private boolean mClosed = false;
|
||||||
private boolean mSuppressConnectionErrors;
|
private boolean mSuppressConnectionErrors;
|
||||||
private @Nullable WebSocket mWebSocket;
|
private @Nullable WebSocket mWebSocket;
|
||||||
|
@ -56,6 +57,12 @@ public final class ReconnectingWebSocket extends WebSocketListener {
|
||||||
mMessageCallback = messageCallback;
|
mMessageCallback = messageCallback;
|
||||||
mConnectionCallback = connectionCallback;
|
mConnectionCallback = connectionCallback;
|
||||||
mHandler = new Handler(Looper.getMainLooper());
|
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() {
|
public void connect() {
|
||||||
|
@ -63,15 +70,8 @@ public final class ReconnectingWebSocket extends WebSocketListener {
|
||||||
throw new IllegalStateException("Can't connect closed client");
|
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();
|
Request request = new Request.Builder().url(mUrl).build();
|
||||||
httpClient.newWebSocket(request, this);
|
mOkHttpClient.newWebSocket(request, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
private synchronized void delayedReconnect() {
|
private synchronized void delayedReconnect() {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче