From 907c20ffb708885bb520aa362df7ac2a34cda2b1 Mon Sep 17 00:00:00 2001 From: Michael Wilkerson-Barker Date: Wed, 13 Mar 2024 23:16:22 -0400 Subject: [PATCH] delay_jitter_divisor is no longer configurable --- src/realm.h | 2 -- src/realm/object-store/c_api/sync.cpp | 6 ------ src/realm/object-store/sync/impl/sync_client.hpp | 9 ++++++--- src/realm/object-store/sync/sync_manager.hpp | 1 + test/object-store/c_api/c_api.cpp | 2 -- 5 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/realm.h b/src/realm.h index 5cd5c24c5b0..202d1bc71f8 100644 --- a/src/realm.h +++ b/src/realm.h @@ -3650,8 +3650,6 @@ RLM_API void realm_sync_client_config_set_max_resumption_delay_interval(realm_sy uint64_t) RLM_API_NOEXCEPT; RLM_API void realm_sync_client_config_set_resumption_delay_backoff_multiplier(realm_sync_client_config_t*, int) RLM_API_NOEXCEPT; -RLM_API void realm_sync_client_config_set_resumption_delay_jitter_divisor(realm_sync_client_config_t*, - int) RLM_API_NOEXCEPT; RLM_API void realm_sync_client_config_set_sync_socket(realm_sync_client_config_t*, realm_sync_socket_t*) RLM_API_NOEXCEPT; RLM_API void realm_sync_client_config_set_default_binding_thread_observer( diff --git a/src/realm/object-store/c_api/sync.cpp b/src/realm/object-store/c_api/sync.cpp index 82b7d617d55..674d1ec8137 100644 --- a/src/realm/object-store/c_api/sync.cpp +++ b/src/realm/object-store/c_api/sync.cpp @@ -230,12 +230,6 @@ RLM_API void realm_sync_client_config_set_resumption_delay_backoff_multiplier(re config->timeouts.reconnect_backoff_info.resumption_delay_backoff_multiplier = multiplier; } -RLM_API void realm_sync_client_config_set_resumption_delay_jitter_divisor(realm_sync_client_config_t* config, - int divisor) noexcept -{ - config->timeouts.reconnect_backoff_info.delay_jitter_divisor = divisor; -} - /// Register an app local callback handler for bindings interested in registering callbacks before/after /// the ObjectStore thread runs for this app. This only works for the default socket provider implementation. /// IMPORTANT: If a function is supplied that handles the exception, it must call abort() or cause the diff --git a/src/realm/object-store/sync/impl/sync_client.hpp b/src/realm/object-store/sync/impl/sync_client.hpp index 39a9265aafc..634f02a5c08 100644 --- a/src/realm/object-store/sync/impl/sync_client.hpp +++ b/src/realm/object-store/sync/impl/sync_client.hpp @@ -74,13 +74,16 @@ struct SyncClient { c.pong_keepalive_timeout = config.timeouts.pong_keepalive_timeout; if (config.timeouts.fast_reconnect_limit > 1000) c.fast_reconnect_limit = config.timeouts.fast_reconnect_limit; - c.reconnect_backoff_info = config.timeouts.reconnect_backoff_info; + c.reconnect_backoff_info.resumption_delay_interval = + config.timeouts.reconnect_backoff_info.resumption_delay_interval; + c.reconnect_backoff_info.max_resumption_delay_interval = + config.timeouts.reconnect_backoff_info.max_resumption_delay_interval; + c.reconnect_backoff_info.resumption_delay_backoff_multiplier = + config.timeouts.reconnect_backoff_info.resumption_delay_backoff_multiplier; if (c.reconnect_backoff_info.resumption_delay_interval.count() < 1000) logger->info("A resumption delay interval less than 1000 (1 second) is not recommended"); if (c.reconnect_backoff_info.resumption_delay_backoff_multiplier < 1) throw InvalidArgument("Delay backoff multiplier in reconnect backoff info cannot be less than 1"); - if (c.reconnect_backoff_info.delay_jitter_divisor < 0) - throw InvalidArgument("Delay jitter divisor in reconnect backoff info cannot be less than 0"); return c; }()) , m_logger_ptr(logger) diff --git a/src/realm/object-store/sync/sync_manager.hpp b/src/realm/object-store/sync/sync_manager.hpp index 461bfa78393..aec300209a7 100644 --- a/src/realm/object-store/sync/sync_manager.hpp +++ b/src/realm/object-store/sync/sync_manager.hpp @@ -62,6 +62,7 @@ struct SyncClientTimeouts { uint64_t pong_keepalive_timeout; uint64_t fast_reconnect_limit; // Used for requesting location metadata at startup and reconnecting sync connections. + // NOTE: delay_jitter_divisor is not configurable sync::ResumptionDelayInfo reconnect_backoff_info; }; diff --git a/test/object-store/c_api/c_api.cpp b/test/object-store/c_api/c_api.cpp index 8d921a5a3c9..7f080762b52 100644 --- a/test/object-store/c_api/c_api.cpp +++ b/test/object-store/c_api/c_api.cpp @@ -578,8 +578,6 @@ TEST_CASE("C API (non-database)", "[c_api]") { 600024); realm_sync_client_config_set_resumption_delay_backoff_multiplier(test_sync_client_config.get(), 1010); CHECK(test_sync_client_config->timeouts.reconnect_backoff_info.resumption_delay_backoff_multiplier == 1010); - realm_sync_client_config_set_resumption_delay_jitter_divisor(test_sync_client_config.get(), 212); - CHECK(test_sync_client_config->timeouts.reconnect_backoff_info.delay_jitter_divisor == 212); } SECTION("realm_app_config_t") {