Skip to content

Commit

Permalink
lib-imap-client: Change connect_retry_interval_secs to _msecs
Browse files Browse the repository at this point in the history
This allows caller to provide better precision.
  • Loading branch information
sirainen authored and GitLab committed Apr 10, 2017
1 parent 8f47ed1 commit 4727aef
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 6 deletions.
4 changes: 2 additions & 2 deletions src/lib-imap-client/imapc-client.c
Expand Up @@ -46,7 +46,7 @@ imapc_client_init(const struct imapc_client_settings *set)
pool_t pool;

i_assert(set->connect_retry_count == 0 ||
set->connect_retry_interval_secs > 0);
set->connect_retry_interval_msecs > 0);

pool = pool_alloconly_create("imapc client", 1024);
client = p_new(pool, struct imapc_client, 1);
Expand All @@ -71,7 +71,7 @@ imapc_client_init(const struct imapc_client_settings *set)
set->connect_timeout_msecs :
IMAPC_DEFAULT_CONNECT_TIMEOUT_MSECS;
client->set.connect_retry_count = set->connect_retry_count;
client->set.connect_retry_interval_secs = set->connect_retry_interval_secs;
client->set.connect_retry_interval_msecs = set->connect_retry_interval_msecs;
client->set.cmd_timeout_msecs = set->cmd_timeout_msecs != 0 ?
set->cmd_timeout_msecs : IMAPC_DEFAULT_COMMAND_TIMEOUT_MSECS;
client->set.max_line_length = set->max_line_length != 0 ?
Expand Down
2 changes: 1 addition & 1 deletion src/lib-imap-client/imapc-client.h
Expand Up @@ -96,7 +96,7 @@ struct imapc_client_settings {
/* Number of retries, -1 = infinity */
unsigned int connect_retry_count;
/* Interval between retries, must be > 0 if retries > 0 */
unsigned int connect_retry_interval_secs;
unsigned int connect_retry_interval_msecs;

/* Timeout for IMAP commands. Reset every time more data is being
sent or received. 0 = default. */
Expand Down
4 changes: 2 additions & 2 deletions src/lib-imap-client/imapc-connection.c
Expand Up @@ -1804,14 +1804,14 @@ void imapc_connection_connect(struct imapc_connection *conn,
int msecs_since_last_connect =
timeval_diff_msecs(&ioloop_timeval, &conn->last_connect);
if (!conn->reconnect_ok &&
msecs_since_last_connect < (int)conn->client->set.connect_retry_interval_secs*1000) {
msecs_since_last_connect < (int)conn->client->set.connect_retry_interval_msecs) {
if (conn->to != NULL)
timeout_remove(&conn->to);
conn->reconnecting = TRUE;
imapc_connection_set_disconnected(conn);
/* don't wait longer than necessary */
unsigned int delay_msecs =
conn->client->set.connect_retry_interval_secs*1000 -
conn->client->set.connect_retry_interval_msecs -
msecs_since_last_connect;
conn->to = timeout_add(delay_msecs, imapc_connection_reconnect, conn);
return;
Expand Down
2 changes: 1 addition & 1 deletion src/lib-storage/index/imapc/imapc-storage.c
Expand Up @@ -305,7 +305,7 @@ int imapc_storage_client_create(struct mail_namespace *ns,
set.use_proxyauth = (imapc_set->parsed_features & IMAPC_FEATURE_PROXYAUTH) != 0;
set.cmd_timeout_msecs = imapc_set->imapc_cmd_timeout * 1000;
set.connect_retry_count = imapc_set->imapc_connection_retry_count;
set.connect_retry_interval_secs = imapc_set->imapc_connection_retry_interval;
set.connect_retry_interval_msecs = imapc_set->imapc_connection_retry_interval*1000;
set.max_idle_time = imapc_set->imapc_max_idle_time;
set.max_line_length = imapc_set->imapc_max_line_length;
set.dns_client_socket_path = *ns->user->set->base_dir == '\0' ? "" :
Expand Down

0 comments on commit 4727aef

Please sign in to comment.