mail_user_init_ssl_client_settings(_backend->ns->user, &ssl_set);
if (solr_connection_init(&fuser->set, &ssl_set,
+ _backend->ns->user->event,
&backend->solr_conn, error_r) < 0)
return -1;
mail_user_init_ssl_client_settings(_backend->ns->user, &ssl_set);
return solr_connection_init(&fuser->set, &ssl_set,
+ _backend->ns->user->event,
&backend->solr_conn, error_r);
}
};
struct solr_connection {
+ struct event *event;
char *http_host;
in_port_t http_port;
char *http_base_url;
int solr_connection_init(const struct fts_solr_settings *solr_set,
const struct ssl_iostream_settings *ssl_client_set,
+ struct event *event_parent,
struct solr_connection **conn_r, const char **error_r)
{
struct http_client_settings http_set;
}
conn = i_new(struct solr_connection, 1);
+ conn->event = event_create(event_parent);
conn->http_host = i_strdup(http_url->host.name);
conn->http_port = http_url->port;
conn->http_base_url = solr_connection_create_http_base_url(http_url);
struct solr_connection *conn = *_conn;
*_conn = NULL;
+ event_unref(&conn->event);
i_free(conn->http_host);
i_free(conn->http_base_url);
i_free(conn->http_user);
int solr_connection_init(const struct fts_solr_settings *solr_set,
const struct ssl_iostream_settings *ssl_client_set,
+ struct event *event_parent,
struct solr_connection **conn_r,
const char **error_r);
void solr_connection_deinit(struct solr_connection **conn);