Mercurial > dovecot > core-2.2
changeset 19743:26c805d628f8
lib-sql: Allow port to be configured for Cassandra cluster
author | Michael M Slusarz <michael.slusarz@dovecot.fi> |
---|---|
date | Wed, 10 Feb 2016 22:15:12 -0700 |
parents | b6804ea019a6 |
children | 2ca3b2969ad8 |
files | src/lib-sql/driver-cassandra.c |
diffstat | 1 files changed, 7 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-sql/driver-cassandra.c Wed Feb 10 19:08:11 2016 +0200 +++ b/src/lib-sql/driver-cassandra.c Wed Feb 10 22:15:12 2016 -0700 @@ -5,6 +5,7 @@ #include "hex-binary.h" #include "str.h" #include "ioloop.h" +#include "net.h" #include "write-full.h" #include "time-util.h" #include "sql-api-private.h" @@ -50,6 +51,7 @@ CassConsistency read_fallback_consistency, write_fallback_consistency, delete_fallback_consistency; CassLogLevel log_level; unsigned int protocol_version; + in_port_t port; CassCluster *cluster; CassSession *session; @@ -386,6 +388,9 @@ if (str_len(hosts) > 0) str_append_c(hosts, ','); str_append(hosts, value); + } else if (strcmp(key, "port") == 0) { + if (net_str2port(value, &db->port) < 0) + i_fatal("cassandra: Invalid port: %s", value); } else if (strcmp(key, "dbname") == 0 || strcmp(key, "keyspace") == 0) { i_free(db->keyspace); @@ -455,6 +460,8 @@ cass_cluster_set_connect_timeout(db->cluster, SQL_CONNECT_TIMEOUT_SECS * 1000); cass_cluster_set_request_timeout(db->cluster, SQL_QUERY_TIMEOUT_SECS * 1000); cass_cluster_set_contact_points(db->cluster, db->hosts); + if (db->port != 0) + cass_cluster_set_port(db->cluster, db->port); if (db->protocol_version != 0) cass_cluster_set_protocol_version(db->cluster, db->protocol_version); db->session = cass_session_new();