22#include <pulsar/defines.h>
28typedef enum { pulsar_DEBUG = 0, pulsar_INFO = 1, pulsar_WARN = 2, pulsar_ERROR = 3 } pulsar_logger_level_t;
30typedef void (*pulsar_logger)(pulsar_logger_level_t level,
const char *file,
int line,
const char *message,
33typedef struct _pulsar_client_configuration pulsar_client_configuration_t;
34typedef struct _pulsar_authentication pulsar_authentication_t;
36PULSAR_PUBLIC pulsar_client_configuration_t *pulsar_client_configuration_create();
38PULSAR_PUBLIC
void pulsar_client_configuration_free(pulsar_client_configuration_t *conf);
45PULSAR_PUBLIC
void pulsar_client_configuration_set_auth(pulsar_client_configuration_t *conf,
46 pulsar_authentication_t *authentication);
54PULSAR_PUBLIC
void pulsar_client_configuration_set_memory_limit(pulsar_client_configuration_t *conf,
55 unsigned long long memoryLimitBytes);
60PULSAR_PUBLIC
unsigned long long pulsar_client_configuration_get_memory_limit(
61 pulsar_client_configuration_t *conf);
69PULSAR_PUBLIC
void pulsar_client_configuration_set_operation_timeout_seconds(
70 pulsar_client_configuration_t *conf,
int timeout);
75PULSAR_PUBLIC
int pulsar_client_configuration_get_operation_timeout_seconds(
76 pulsar_client_configuration_t *conf);
84PULSAR_PUBLIC
void pulsar_client_configuration_set_io_threads(pulsar_client_configuration_t *conf,
90PULSAR_PUBLIC
int pulsar_client_configuration_get_io_threads(pulsar_client_configuration_t *conf);
102PULSAR_PUBLIC
void pulsar_client_configuration_set_message_listener_threads(
103 pulsar_client_configuration_t *conf,
int threads);
108PULSAR_PUBLIC
int pulsar_client_configuration_get_message_listener_threads(
109 pulsar_client_configuration_t *conf);
119PULSAR_PUBLIC
void pulsar_client_configuration_set_concurrent_lookup_request(
120 pulsar_client_configuration_t *conf,
int concurrentLookupRequest);
125PULSAR_PUBLIC
int pulsar_client_configuration_get_concurrent_lookup_request(
126 pulsar_client_configuration_t *conf);
128PULSAR_PUBLIC
void pulsar_client_configuration_set_logger(pulsar_client_configuration_t *conf,
129 pulsar_logger logger,
void *ctx);
131PULSAR_PUBLIC
void pulsar_client_configuration_set_use_tls(pulsar_client_configuration_t *conf,
int useTls);
133PULSAR_PUBLIC
int pulsar_client_configuration_is_use_tls(pulsar_client_configuration_t *conf);
135PULSAR_PUBLIC
void pulsar_client_configuration_set_tls_trust_certs_file_path(
136 pulsar_client_configuration_t *conf,
const char *tlsTrustCertsFilePath);
138PULSAR_PUBLIC
const char *pulsar_client_configuration_get_tls_trust_certs_file_path(
139 pulsar_client_configuration_t *conf);
141PULSAR_PUBLIC
void pulsar_client_configuration_set_tls_allow_insecure_connection(
142 pulsar_client_configuration_t *conf,
int allowInsecure);
144PULSAR_PUBLIC
int pulsar_client_configuration_is_tls_allow_insecure_connection(
145 pulsar_client_configuration_t *conf);
151PULSAR_PUBLIC
void pulsar_client_configuration_set_stats_interval_in_seconds(
152 pulsar_client_configuration_t *conf,
const unsigned int interval);
154PULSAR_PUBLIC
int pulsar_client_configuration_is_validate_hostname(pulsar_client_configuration_t *conf);
156PULSAR_PUBLIC
void pulsar_client_configuration_set_validate_hostname(pulsar_client_configuration_t *conf,
157 int validateHostName);
162PULSAR_PUBLIC
const unsigned int pulsar_client_configuration_get_stats_interval_in_seconds(
163 pulsar_client_configuration_t *conf);