diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/SendToDeviceTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/SendToDeviceTask.kt index b3fb704131..41a5118be0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/SendToDeviceTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/SendToDeviceTask.kt @@ -48,8 +48,8 @@ internal class DefaultSendToDeviceTask @Inject constructor( return executeRequest( globalErrorReceiver, - isRetryable = true, - maxRetryCount = 3 + canRetry = true, + maxRetriesCount = 3 ) { cryptoApi.sendToDevice( params.eventType, diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/UploadSignaturesTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/UploadSignaturesTask.kt index 15cf017dc9..e03e353cb1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/UploadSignaturesTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/UploadSignaturesTask.kt @@ -37,8 +37,8 @@ internal class DefaultUploadSignaturesTask @Inject constructor( try { val response = executeRequest( globalErrorReceiver, - isRetryable = true, - maxRetryCount = 10 + canRetry = true, + maxRetriesCount = 10 ) { cryptoApi.uploadSignatures(params.signatures) } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/Request.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/Request.kt index 9aa242aecf..24b9b83f75 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/Request.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/Request.kt @@ -29,20 +29,20 @@ import java.io.IOException * Execute a request from the requestBlock and handle some of the Exception it could generate * * @param globalErrorReceiver will be use to notify error such as invalid token error. See [GlobalError] - * @param isRetryable if set to true, the request will be executed again in case of error, after a delay - * @param initialDelay the first delay to wait before a request is retried. Will be doubled after each retry - * @param maxDelay the max delay to wait before a retry - * @param maxRetryCount the max number of retries + * @param canRetry if set to true, the request will be executed again in case of error, after a delay + * @param initialDelayBeforeRetry the first delay to wait before a request is retried. Will be doubled after each retry + * @param maxDelayBeforeRetry the max delay to wait before a retry + * @param maxRetriesCount the max number of retries * @param requestBlock a suspend lambda to perform the network request */ internal suspend inline fun executeRequest(globalErrorReceiver: GlobalErrorReceiver?, - isRetryable: Boolean = false, - initialDelay: Long = 100L, - maxDelay: Long = 10_000L, - maxRetryCount: Int = Int.MAX_VALUE, + canRetry: Boolean = false, + initialDelayBeforeRetry: Long = 100L, + maxDelayBeforeRetry: Long = 10_000L, + maxRetriesCount: Int = Int.MAX_VALUE, noinline requestBlock: suspend () -> DATA): DATA { var currentRetryCount = 0 - var currentDelay = initialDelay + var currentDelay = initialDelayBeforeRetry while (true) { try { @@ -67,9 +67,9 @@ internal suspend inline fun executeRequest(globalErrorReceiver: GlobalErr // } ?.also { unrecognizedCertificateException -> throw unrecognizedCertificateException } - if (isRetryable && currentRetryCount++ < maxRetryCount && exception.shouldBeRetried()) { + if (canRetry && currentRetryCount++ < maxRetriesCount && exception.shouldBeRetried()) { delay(currentDelay) - currentDelay = (currentDelay * 2L).coerceAtMost(maxDelay) + currentDelay = (currentDelay * 2L).coerceAtMost(maxDelayBeforeRetry) // Try again (loop) } else { throw when (exception) { diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/joining/InviteTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/joining/InviteTask.kt index ab1299c34a..7e7b80baaf 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/joining/InviteTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/joining/InviteTask.kt @@ -39,8 +39,8 @@ internal class DefaultInviteTask @Inject constructor( val body = InviteBody(params.userId, params.reason) return executeRequest( globalErrorReceiver, - isRetryable = true, - maxRetryCount = 3 + canRetry = true, + maxRetriesCount = 3 ) { roomAPI.invite(params.roomId, body) } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/read/SetReadMarkersTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/read/SetReadMarkersTask.kt index aa1eaff119..35dc6a4f0c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/read/SetReadMarkersTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/read/SetReadMarkersTask.kt @@ -98,7 +98,7 @@ internal class DefaultSetReadMarkersTask @Inject constructor( if (markers.isNotEmpty()) { executeRequest( globalErrorReceiver, - isRetryable = true + canRetry = true ) { roomAPI.sendReadMarker(params.roomId, markers) } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/PaginationTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/PaginationTask.kt index ac46c9c9ff..8aeccb66c8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/PaginationTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/PaginationTask.kt @@ -44,7 +44,7 @@ internal class DefaultPaginationTask @Inject constructor( val filter = filterRepository.getRoomFilter() val chunk = executeRequest( globalErrorReceiver, - isRetryable = true + canRetry = true ) { roomAPI.getRoomMessagesFrom(params.roomId, params.from, params.direction.value, params.limit, filter) }