librdkafka
The Apache Kafka C/C++ client library
Loading...
Searching...
No Matches
rdkafka.h
Go to the documentation of this file.
1/*
2 * librdkafka - Apache Kafka C library
3 *
4 * Copyright (c) 2012-2022, Magnus Edenhill
5 * 2023, Confluent Inc.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions are met:
10 *
11 * 1. Redistributions of source code must retain the above copyright notice,
12 * this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright notice,
14 * this list of conditions and the following disclaimer in the documentation
15 * and/or other materials provided with the distribution.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 * POSSIBILITY OF SUCH DAMAGE.
28 */
29
44/* @cond NO_DOC */
45#ifndef _RDKAFKA_H_
46#define _RDKAFKA_H_
47
48#include <stdio.h>
49#include <inttypes.h>
50#include <sys/types.h>
51
52#ifdef __cplusplus
53extern "C" {
54#if 0
55} /* Restore indent */
56#endif
57#endif
58
59#ifdef _WIN32
60#include <basetsd.h>
61#ifndef WIN32_MEAN_AND_LEAN
62#define WIN32_MEAN_AND_LEAN
63#endif
64#include <winsock2.h> /* for sockaddr, .. */
65#ifndef _SSIZE_T_DEFINED
66#define _SSIZE_T_DEFINED
67typedef SSIZE_T ssize_t;
68#endif
69#define RD_UNUSED
70#define RD_INLINE __inline
71#define RD_DEPRECATED __declspec(deprecated)
72#define RD_FORMAT(...)
73#undef RD_EXPORT
74#ifdef LIBRDKAFKA_STATICLIB
75#define RD_EXPORT
76#else
77#ifdef LIBRDKAFKA_EXPORTS
78#define RD_EXPORT __declspec(dllexport)
79#else
80#define RD_EXPORT __declspec(dllimport)
81#endif
82#ifndef LIBRDKAFKA_TYPECHECKS
83#define LIBRDKAFKA_TYPECHECKS 0
84#endif
85#endif
86
87#else
88#include <sys/socket.h> /* for sockaddr, .. */
89
90#define RD_UNUSED __attribute__((unused))
91#define RD_INLINE inline
92#define RD_EXPORT
93#define RD_DEPRECATED __attribute__((deprecated))
94
95#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
96#define RD_HAS_STATEMENT_EXPRESSIONS
97#define RD_FORMAT(...) __attribute__((format(__VA_ARGS__)))
98#else
99#define RD_FORMAT(...)
100#endif
101
102#ifndef LIBRDKAFKA_TYPECHECKS
103#define LIBRDKAFKA_TYPECHECKS 1
104#endif
105#endif
106
107
113#if LIBRDKAFKA_TYPECHECKS
114#define _LRK_TYPECHECK(RET, TYPE, ARG) \
115 ({ \
116 if (0) { \
117 TYPE __t RD_UNUSED = (ARG); \
118 } \
119 RET; \
120 })
121
122#define _LRK_TYPECHECK2(RET, TYPE, ARG, TYPE2, ARG2) \
123 ({ \
124 if (0) { \
125 TYPE __t RD_UNUSED = (ARG); \
126 TYPE2 __t2 RD_UNUSED = (ARG2); \
127 } \
128 RET; \
129 })
130
131#define _LRK_TYPECHECK3(RET, TYPE, ARG, TYPE2, ARG2, TYPE3, ARG3) \
132 ({ \
133 if (0) { \
134 TYPE __t RD_UNUSED = (ARG); \
135 TYPE2 __t2 RD_UNUSED = (ARG2); \
136 TYPE3 __t3 RD_UNUSED = (ARG3); \
137 } \
138 RET; \
139 })
140#else
141#define _LRK_TYPECHECK(RET, TYPE, ARG) (RET)
142#define _LRK_TYPECHECK2(RET, TYPE, ARG, TYPE2, ARG2) (RET)
143#define _LRK_TYPECHECK3(RET, TYPE, ARG, TYPE2, ARG2, TYPE3, ARG3) (RET)
144#endif
145
146/* @endcond */
147
148
170#define RD_KAFKA_VERSION 0x020f00ff
171
180RD_EXPORT
182
188RD_EXPORT
189const char *rd_kafka_version_str(void);
190
213
214
225
226
227
234RD_EXPORT
236
244#define RD_KAFKA_DEBUG_CONTEXTS \
245 "all,generic,broker,topic,metadata,feature,queue,msg,protocol,cgrp," \
246 "security,fetch,interceptor,plugin,consumer,admin,eos,mock,assignor," \
247 "conf"
248
249
250/* @cond NO_DOC */
251/* Private types to provide ABI compatibility */
252typedef struct rd_kafka_s rd_kafka_t;
253typedef struct rd_kafka_topic_s rd_kafka_topic_t;
254typedef struct rd_kafka_conf_s rd_kafka_conf_t;
255typedef struct rd_kafka_topic_conf_s rd_kafka_topic_conf_t;
256typedef struct rd_kafka_queue_s rd_kafka_queue_t;
257typedef struct rd_kafka_op_s rd_kafka_event_t;
258typedef struct rd_kafka_topic_result_s rd_kafka_topic_result_t;
259typedef struct rd_kafka_consumer_group_metadata_s
260 rd_kafka_consumer_group_metadata_t;
261typedef struct rd_kafka_error_s rd_kafka_error_t;
262typedef struct rd_kafka_headers_s rd_kafka_headers_t;
263typedef struct rd_kafka_group_result_s rd_kafka_group_result_t;
264typedef struct rd_kafka_acl_result_s rd_kafka_acl_result_t;
265typedef struct rd_kafka_Uuid_s rd_kafka_Uuid_t;
266typedef struct rd_kafka_topic_partition_result_s
267 rd_kafka_topic_partition_result_t;
268typedef struct rd_kafka_share_s rd_kafka_share_t;
269/* @endcond */
270
271
284typedef enum {
285 /* Internal errors to rdkafka: */
418
421
422 /* Kafka broker errors: */
438#define RD_KAFKA_RESP_ERR_NOT_LEADER_OR_FOLLOWER \
439 RD_KAFKA_RESP_ERR_NOT_LEADER_FOR_PARTITION
440 RD_KAFKA_RESP_ERR_NOT_LEADER_FOR_PARTITION = 6,
458#define RD_KAFKA_RESP_ERR_GROUP_LOAD_IN_PROGRESS \
459 RD_KAFKA_RESP_ERR_COORDINATOR_LOAD_IN_PROGRESS
463#define RD_KAFKA_RESP_ERR_GROUP_COORDINATOR_NOT_AVAILABLE \
464 RD_KAFKA_RESP_ERR_COORDINATOR_NOT_AVAILABLE
468#define RD_KAFKA_RESP_ERR_NOT_COORDINATOR_FOR_GROUP \
469 RD_KAFKA_RESP_ERR_NOT_COORDINATOR
704 RD_KAFKA_RESP_ERR_END_ALL,
706
707
715 const char *name;
716 const char *desc;
717};
718
719
723RD_EXPORT
724void rd_kafka_get_err_descs(const struct rd_kafka_err_desc **errdescs,
725 size_t *cntp);
726
727
728
734RD_EXPORT
736
737
738
744RD_EXPORT
746
747
773RD_EXPORT
775
776
801RD_EXPORT RD_DEPRECATED rd_kafka_resp_err_t rd_kafka_errno2err(int errnox);
802
803
816RD_EXPORT RD_DEPRECATED int rd_kafka_errno(void);
817
818
819
846RD_EXPORT
848rd_kafka_fatal_error(rd_kafka_t *rk, char *errstr, size_t errstr_size);
849
850
870 const char *reason);
871
872
877RD_EXPORT
878rd_kafka_resp_err_t rd_kafka_error_code(const rd_kafka_error_t *error);
879
888RD_EXPORT
889const char *rd_kafka_error_name(const rd_kafka_error_t *error);
890
897RD_EXPORT
898const char *rd_kafka_error_string(const rd_kafka_error_t *error);
899
900
905RD_EXPORT
906int rd_kafka_error_is_fatal(const rd_kafka_error_t *error);
907
908
913RD_EXPORT
914int rd_kafka_error_is_retriable(const rd_kafka_error_t *error);
915
916
927RD_EXPORT
928int rd_kafka_error_txn_requires_abort(const rd_kafka_error_t *error);
929
935RD_EXPORT
936void rd_kafka_error_destroy(rd_kafka_error_t *error);
937
938
947RD_EXPORT
949 const char *fmt,
950 ...) RD_FORMAT(printf, 2, 3);
951
952
968typedef struct rd_kafka_topic_partition_s {
969 char *topic;
970 int32_t partition;
971 int64_t offset;
972 void *metadata;
974 void *opaque;
976 void *_private;
981
986RD_EXPORT
988
989
998RD_EXPORT
1001 int32_t leader_epoch);
1002
1011RD_EXPORT
1013 const rd_kafka_topic_partition_t *rktpar);
1014
1019typedef struct rd_kafka_topic_partition_list_s {
1020 int cnt;
1021 int size;
1024
1039RD_EXPORT
1041
1045RD_EXPORT
1048
1058RD_EXPORT
1061 const char *topic,
1062 int32_t partition);
1063
1064
1073RD_EXPORT
1076 const char *topic,
1077 int32_t start,
1078 int32_t stop);
1079
1080
1081
1093RD_EXPORT
1096 const char *topic,
1097 int32_t partition);
1098
1099
1107RD_EXPORT
1110 int idx);
1111
1112
1120RD_EXPORT
1123
1124
1125
1133RD_EXPORT
1136 const char *topic,
1137 int32_t partition,
1138 int64_t offset);
1139
1140
1141
1147RD_EXPORT
1149 const rd_kafka_topic_partition_list_t *rktparlist,
1150 const char *topic,
1151 int32_t partition);
1152
1153
1165 int (*cmp)(const void *a, const void *b, void *cmp_opaque),
1166 void *cmp_opaque);
1167
1168
1204
1205
1212typedef struct rd_kafka_vu_s {
1215 union {
1216 const char *cstr;
1217 rd_kafka_topic_t *rkt;
1218 int i;
1219 int32_t i32;
1220 int64_t i64;
1221 struct {
1222 void *ptr;
1223 size_t size;
1224 } mem;
1225 struct {
1226 const char *name;
1227 const void *val;
1228 ssize_t size;
1229 } header;
1230 rd_kafka_headers_t *headers;
1231 void *ptr;
1232 char _pad[64];
1233 } u;
1235
1244#define RD_KAFKA_V_END RD_KAFKA_VTYPE_END
1245
1251#define RD_KAFKA_V_TOPIC(topic) \
1252 _LRK_TYPECHECK(RD_KAFKA_VTYPE_TOPIC, const char *, topic), \
1253 (const char *)topic
1259#define RD_KAFKA_V_RKT(rkt) \
1260 _LRK_TYPECHECK(RD_KAFKA_VTYPE_RKT, rd_kafka_topic_t *, rkt), \
1261 (rd_kafka_topic_t *)rkt
1267#define RD_KAFKA_V_PARTITION(partition) \
1268 _LRK_TYPECHECK(RD_KAFKA_VTYPE_PARTITION, int32_t, partition), \
1269 (int32_t)partition
1275#define RD_KAFKA_V_VALUE(VALUE, LEN) \
1276 _LRK_TYPECHECK2(RD_KAFKA_VTYPE_VALUE, void *, VALUE, size_t, LEN), \
1277 (void *)VALUE, (size_t)LEN
1283#define RD_KAFKA_V_KEY(KEY, LEN) \
1284 _LRK_TYPECHECK2(RD_KAFKA_VTYPE_KEY, const void *, KEY, size_t, LEN), \
1285 (void *)KEY, (size_t)LEN
1293#define RD_KAFKA_V_OPAQUE(msg_opaque) \
1294 _LRK_TYPECHECK(RD_KAFKA_VTYPE_OPAQUE, void *, msg_opaque), \
1295 (void *)msg_opaque
1302#define RD_KAFKA_V_MSGFLAGS(msgflags) \
1303 _LRK_TYPECHECK(RD_KAFKA_VTYPE_MSGFLAGS, int, msgflags), (int)msgflags
1310#define RD_KAFKA_V_TIMESTAMP(timestamp) \
1311 _LRK_TYPECHECK(RD_KAFKA_VTYPE_TIMESTAMP, int64_t, timestamp), \
1312 (int64_t)timestamp
1321#define RD_KAFKA_V_HEADER(NAME, VALUE, LEN) \
1322 _LRK_TYPECHECK3(RD_KAFKA_VTYPE_HEADER, const char *, NAME, \
1323 const void *, VALUE, ssize_t, LEN), \
1324 (const char *)NAME, (const void *)VALUE, (ssize_t)LEN
1325
1337#define RD_KAFKA_V_HEADERS(HDRS) \
1338 _LRK_TYPECHECK(RD_KAFKA_VTYPE_HEADERS, rd_kafka_headers_t *, HDRS), \
1339 (rd_kafka_headers_t *)HDRS
1340
1341
1372RD_EXPORT rd_kafka_headers_t *rd_kafka_headers_new(size_t initial_count);
1373
1378RD_EXPORT void rd_kafka_headers_destroy(rd_kafka_headers_t *hdrs);
1379
1383RD_EXPORT rd_kafka_headers_t *
1384rd_kafka_headers_copy(const rd_kafka_headers_t *src);
1385
1403RD_EXPORT rd_kafka_resp_err_t rd_kafka_header_add(rd_kafka_headers_t *hdrs,
1404 const char *name,
1405 ssize_t name_size,
1406 const void *value,
1407 ssize_t value_size);
1408
1416RD_EXPORT rd_kafka_resp_err_t rd_kafka_header_remove(rd_kafka_headers_t *hdrs,
1417 const char *name);
1418
1419
1437RD_EXPORT rd_kafka_resp_err_t
1438rd_kafka_header_get_last(const rd_kafka_headers_t *hdrs,
1439 const char *name,
1440 const void **valuep,
1441 size_t *sizep);
1442
1456RD_EXPORT rd_kafka_resp_err_t
1457rd_kafka_header_get(const rd_kafka_headers_t *hdrs,
1458 size_t idx,
1459 const char *name,
1460 const void **valuep,
1461 size_t *sizep);
1462
1463
1471RD_EXPORT rd_kafka_resp_err_t
1472rd_kafka_header_get_all(const rd_kafka_headers_t *hdrs,
1473 size_t idx,
1474 const char **namep,
1475 const void **valuep,
1476 size_t *sizep);
1477
1478
1479
1492// FIXME: This doesn't show up in docs for some reason
1493// "Compound rd_kafka_message_t is not documented."
1494
1508typedef struct rd_kafka_message_s {
1510 rd_kafka_topic_t *rkt;
1511 int32_t partition;
1512 void *payload;
1516 size_t len;
1519 void *key;
1521 size_t key_len;
1523 int64_t offset;
1531 void *_private;
1539
1540
1547typedef struct rd_kafka_messages_s rd_kafka_messages_t;
1548
1549
1558RD_EXPORT
1560
1575RD_EXPORT
1577 size_t index);
1578
1592RD_EXPORT
1594
1595
1599RD_EXPORT
1601
1602
1603
1610RD_EXPORT
1611const char *rd_kafka_message_errstr(const rd_kafka_message_t *rkmessage);
1612
1619RD_EXPORT
1620const char *
1622
1623
1635RD_EXPORT
1638
1639
1640
1647RD_EXPORT
1649
1650
1657RD_EXPORT
1659
1660
1677RD_EXPORT rd_kafka_resp_err_t
1679 rd_kafka_headers_t **hdrsp);
1680
1692RD_EXPORT rd_kafka_resp_err_t
1694 rd_kafka_headers_t **hdrsp);
1695
1696
1709RD_EXPORT
1711 rd_kafka_headers_t *hdrs);
1712
1713
1719RD_EXPORT size_t rd_kafka_header_cnt(const rd_kafka_headers_t *hdrs);
1720
1721
1743
1744
1751RD_EXPORT rd_kafka_msg_status_t
1753
1754
1762RD_EXPORT int32_t
1764
1775RD_EXPORT int16_t
1777
1778
1795RD_EXPORT const char *rd_kafka_Uuid_base64str(const rd_kafka_Uuid_t *uuid);
1796
1804RD_EXPORT int64_t
1805rd_kafka_Uuid_least_significant_bits(const rd_kafka_Uuid_t *uuid);
1806
1807
1815RD_EXPORT int64_t
1816rd_kafka_Uuid_most_significant_bits(const rd_kafka_Uuid_t *uuid);
1817
1818
1828RD_EXPORT rd_kafka_Uuid_t *rd_kafka_Uuid_new(int64_t most_significant_bits,
1829 int64_t least_significant_bits);
1830
1839RD_EXPORT rd_kafka_Uuid_t *rd_kafka_Uuid_copy(const rd_kafka_Uuid_t *uuid);
1840
1846RD_EXPORT void rd_kafka_Uuid_destroy(rd_kafka_Uuid_t *uuid);
1847
1870
1871
1905RD_EXPORT
1906rd_kafka_conf_t *rd_kafka_conf_new(void);
1907
1908
1912RD_EXPORT
1913void rd_kafka_conf_destroy(rd_kafka_conf_t *conf);
1914
1915
1922RD_EXPORT
1923rd_kafka_conf_t *rd_kafka_conf_dup(const rd_kafka_conf_t *conf);
1924
1925
1930RD_EXPORT
1931rd_kafka_conf_t *rd_kafka_conf_dup_filter(const rd_kafka_conf_t *conf,
1932 size_t filter_cnt,
1933 const char **filter);
1934
1935
1936
1945RD_EXPORT
1946const rd_kafka_conf_t *rd_kafka_conf(rd_kafka_t *rk);
1947
1948
1968RD_EXPORT
1970 const char *name,
1971 const char *value,
1972 char *errstr,
1973 size_t errstr_size);
1974
1975
1981RD_EXPORT
1982void rd_kafka_conf_set_events(rd_kafka_conf_t *conf, int events);
1983
1984
2021 rd_kafka_conf_t *conf,
2022 void (*event_cb)(rd_kafka_t *rk, rd_kafka_event_t *rkev, void *opaque));
2023
2024
2028RD_EXPORT
2029void rd_kafka_conf_set_dr_cb(rd_kafka_conf_t *conf,
2030 void (*dr_cb)(rd_kafka_t *rk,
2031 void *payload,
2032 size_t len,
2034 void *opaque,
2035 void *msg_opaque));
2036
2067RD_EXPORT
2069 rd_kafka_conf_t *conf,
2070 void (*dr_msg_cb)(rd_kafka_t *rk,
2071 const rd_kafka_message_t *rkmessage,
2072 void *opaque));
2073
2074
2082RD_EXPORT
2084 rd_kafka_conf_t *conf,
2085 void (*consume_cb)(rd_kafka_message_t *rkmessage, void *opaque));
2086
2191RD_EXPORT
2193 rd_kafka_conf_t *conf,
2194 void (*rebalance_cb)(rd_kafka_t *rk,
2197 void *opaque));
2198
2199
2200
2218RD_EXPORT
2220 rd_kafka_conf_t *conf,
2221 void (*offset_commit_cb)(rd_kafka_t *rk,
2224 void *opaque));
2225
2226
2249RD_EXPORT
2250void rd_kafka_conf_set_error_cb(rd_kafka_conf_t *conf,
2251 void (*error_cb)(rd_kafka_t *rk,
2252 int err,
2253 const char *reason,
2254 void *opaque));
2255
2273RD_EXPORT
2274void rd_kafka_conf_set_throttle_cb(rd_kafka_conf_t *conf,
2275 void (*throttle_cb)(rd_kafka_t *rk,
2276 const char *broker_name,
2277 int32_t broker_id,
2278 int throttle_time_ms,
2279 void *opaque));
2280
2281
2298RD_EXPORT
2299void rd_kafka_conf_set_log_cb(rd_kafka_conf_t *conf,
2300 void (*log_cb)(const rd_kafka_t *rk,
2301 int level,
2302 const char *fac,
2303 const char *buf));
2304
2305
2328RD_EXPORT
2330 rd_kafka_conf_t *conf,
2331 int (*stats_cb)(rd_kafka_t *rk, char *json, size_t json_len, void *opaque));
2332
2382RD_EXPORT
2384 rd_kafka_conf_t *conf,
2385 void (*oauthbearer_token_refresh_cb)(rd_kafka_t *rk,
2386 const char *oauthbearer_config,
2387 void *opaque));
2388
2416RD_EXPORT
2417void rd_kafka_conf_enable_sasl_queue(rd_kafka_conf_t *conf, int enable);
2418
2419
2437RD_EXPORT
2439 rd_kafka_conf_t *conf,
2440 int (*socket_cb)(int domain, int type, int protocol, void *opaque));
2441
2442
2443
2459RD_EXPORT void
2460rd_kafka_conf_set_connect_cb(rd_kafka_conf_t *conf,
2461 int (*connect_cb)(int sockfd,
2462 const struct sockaddr *addr,
2463 int addrlen,
2464 const char *id,
2465 void *opaque));
2466
2478 rd_kafka_conf_t *conf,
2479 int (*closesocket_cb)(int sockfd, void *opaque));
2480
2481
2482
2483#ifndef _WIN32
2501RD_EXPORT
2503 rd_kafka_conf_t *conf,
2504 int (*open_cb)(const char *pathname, int flags, mode_t mode, void *opaque));
2505#endif
2506
2508struct addrinfo;
2509
2529RD_EXPORT void
2530rd_kafka_conf_set_resolve_cb(rd_kafka_conf_t *conf,
2531 int (*resolve_cb)(const char *node,
2532 const char *service,
2533 const struct addrinfo *hints,
2534 struct addrinfo **res,
2535 void *opaque));
2536
2578RD_EXPORT
2580 rd_kafka_conf_t *conf,
2581 int (*ssl_cert_verify_cb)(rd_kafka_t *rk,
2582 const char *broker_name,
2583 int32_t broker_id,
2584 int *x509_error,
2585 int depth,
2586 const char *buf,
2587 size_t size,
2588 char *errstr,
2589 size_t errstr_size,
2590 void *opaque));
2591
2592
2606
2620
2621
2664RD_EXPORT rd_kafka_conf_res_t
2665rd_kafka_conf_set_ssl_cert(rd_kafka_conf_t *conf,
2666 rd_kafka_cert_type_t cert_type,
2667 rd_kafka_cert_enc_t cert_enc,
2668 const void *buffer,
2669 size_t size,
2670 char *errstr,
2671 size_t errstr_size);
2672
2673
2688RD_EXPORT
2690 void *callback_data);
2691
2692
2698RD_EXPORT
2699void rd_kafka_conf_set_opaque(rd_kafka_conf_t *conf, void *opaque);
2700
2705RD_EXPORT
2706void *rd_kafka_opaque(const rd_kafka_t *rk);
2707
2708
2709
2723RD_EXPORT
2724void rd_kafka_conf_set_default_topic_conf(rd_kafka_conf_t *conf,
2725 rd_kafka_topic_conf_t *tconf);
2726
2739RD_EXPORT rd_kafka_topic_conf_t *
2741
2742
2762RD_EXPORT
2763rd_kafka_conf_res_t rd_kafka_conf_get(const rd_kafka_conf_t *conf,
2764 const char *name,
2765 char *dest,
2766 size_t *dest_size);
2767
2768
2774RD_EXPORT
2775rd_kafka_conf_res_t rd_kafka_topic_conf_get(const rd_kafka_topic_conf_t *conf,
2776 const char *name,
2777 char *dest,
2778 size_t *dest_size);
2779
2780
2789RD_EXPORT
2790const char **rd_kafka_conf_dump(rd_kafka_conf_t *conf, size_t *cntp);
2791
2792
2801RD_EXPORT
2802const char **rd_kafka_topic_conf_dump(rd_kafka_topic_conf_t *conf,
2803 size_t *cntp);
2804
2809RD_EXPORT
2810void rd_kafka_conf_dump_free(const char **arr, size_t cnt);
2811
2819RD_EXPORT
2821
2838RD_EXPORT
2839rd_kafka_topic_conf_t *rd_kafka_topic_conf_new(void);
2840
2841
2845RD_EXPORT
2846rd_kafka_topic_conf_t *
2847rd_kafka_topic_conf_dup(const rd_kafka_topic_conf_t *conf);
2848
2853RD_EXPORT
2854rd_kafka_topic_conf_t *rd_kafka_default_topic_conf_dup(rd_kafka_t *rk);
2855
2856
2860RD_EXPORT
2861void rd_kafka_topic_conf_destroy(rd_kafka_topic_conf_t *topic_conf);
2862
2863
2872RD_EXPORT
2874 const char *name,
2875 const char *value,
2876 char *errstr,
2877 size_t errstr_size);
2878
2885RD_EXPORT
2886void rd_kafka_topic_conf_set_opaque(rd_kafka_topic_conf_t *conf,
2887 void *rkt_opaque);
2888
2889
2909RD_EXPORT
2911 rd_kafka_topic_conf_t *topic_conf,
2912 int32_t (*partitioner)(const rd_kafka_topic_t *rkt,
2913 const void *keydata,
2914 size_t keylen,
2915 int32_t partition_cnt,
2916 void *rkt_opaque,
2917 void *msg_opaque));
2918
2919
2946 rd_kafka_topic_conf_t *topic_conf,
2947 int (*msg_order_cmp)(const rd_kafka_message_t *a,
2948 const rd_kafka_message_t *b));
2949
2950
2958RD_EXPORT
2959int rd_kafka_topic_partition_available(const rd_kafka_topic_t *rkt,
2960 int32_t partition);
2961
2962
2963/*******************************************************************
2964 * *
2965 * Partitioners provided by rdkafka *
2966 * *
2967 *******************************************************************/
2968
2982RD_EXPORT
2983int32_t rd_kafka_msg_partitioner_random(const rd_kafka_topic_t *rkt,
2984 const void *key,
2985 size_t keylen,
2986 int32_t partition_cnt,
2987 void *rkt_opaque,
2988 void *msg_opaque);
2989
3003RD_EXPORT
3004int32_t rd_kafka_msg_partitioner_consistent(const rd_kafka_topic_t *rkt,
3005 const void *key,
3006 size_t keylen,
3007 int32_t partition_cnt,
3008 void *rkt_opaque,
3009 void *msg_opaque);
3010
3026RD_EXPORT
3027int32_t rd_kafka_msg_partitioner_consistent_random(const rd_kafka_topic_t *rkt,
3028 const void *key,
3029 size_t keylen,
3030 int32_t partition_cnt,
3031 void *rkt_opaque,
3032 void *msg_opaque);
3033
3034
3048RD_EXPORT
3049int32_t rd_kafka_msg_partitioner_murmur2(const rd_kafka_topic_t *rkt,
3050 const void *key,
3051 size_t keylen,
3052 int32_t partition_cnt,
3053 void *rkt_opaque,
3054 void *msg_opaque);
3055
3070RD_EXPORT
3071int32_t rd_kafka_msg_partitioner_murmur2_random(const rd_kafka_topic_t *rkt,
3072 const void *key,
3073 size_t keylen,
3074 int32_t partition_cnt,
3075 void *rkt_opaque,
3076 void *msg_opaque);
3077
3078
3092RD_EXPORT
3093int32_t rd_kafka_msg_partitioner_fnv1a(const rd_kafka_topic_t *rkt,
3094 const void *key,
3095 size_t keylen,
3096 int32_t partition_cnt,
3097 void *rkt_opaque,
3098 void *msg_opaque);
3099
3100
3115RD_EXPORT
3116int32_t rd_kafka_msg_partitioner_fnv1a_random(const rd_kafka_topic_t *rkt,
3117 const void *key,
3118 size_t keylen,
3119 int32_t partition_cnt,
3120 void *rkt_opaque,
3121 void *msg_opaque);
3122
3123
3163RD_EXPORT
3165 rd_kafka_conf_t *conf,
3166 char *errstr,
3167 size_t errstr_size);
3168
3169
3184RD_EXPORT
3185void rd_kafka_destroy(rd_kafka_t *rk);
3186
3187
3192RD_EXPORT
3193void rd_kafka_destroy_flags(rd_kafka_t *rk, int flags);
3194
3213RD_EXPORT
3214rd_kafka_queue_t *rd_kafka_share_queue_get_sasl(rd_kafka_share_t *rkshare);
3215
3256RD_EXPORT
3259 const char *token_value,
3260 int64_t md_lifetime_ms,
3261 const char *md_principal_name,
3262 const char **extensions,
3263 size_t extension_size,
3264 char *errstr,
3265 size_t errstr_size);
3266
3289RD_EXPORT
3292 const char *errstr);
3293
3308#define RD_KAFKA_DESTROY_F_NO_CONSUMER_CLOSE 0x8
3309
3310
3311
3315RD_EXPORT
3316const char *rd_kafka_name(const rd_kafka_t *rk);
3317
3318
3322RD_EXPORT
3323rd_kafka_type_t rd_kafka_type(const rd_kafka_t *rk);
3324
3325
3336RD_EXPORT
3337char *rd_kafka_memberid(const rd_kafka_t *rk);
3338
3339
3340
3359RD_EXPORT
3360char *rd_kafka_clusterid(rd_kafka_t *rk, int timeout_ms);
3361
3362
3378RD_EXPORT
3379int32_t rd_kafka_controllerid(rd_kafka_t *rk, int timeout_ms);
3380
3381
3403RD_EXPORT
3404rd_kafka_topic_t *rd_kafka_topic_new(rd_kafka_t *rk,
3405 const char *topic,
3406 rd_kafka_topic_conf_t *conf);
3407
3408
3409
3418RD_EXPORT
3419void rd_kafka_topic_destroy(rd_kafka_topic_t *rkt);
3420
3421
3425RD_EXPORT
3426const char *rd_kafka_topic_name(const rd_kafka_topic_t *rkt);
3427
3428
3433RD_EXPORT
3434void *rd_kafka_topic_opaque(const rd_kafka_topic_t *rkt);
3435
3436
3443#define RD_KAFKA_PARTITION_UA ((int32_t) - 1)
3444
3445
3473RD_EXPORT
3474int rd_kafka_poll(rd_kafka_t *rk, int timeout_ms);
3475
3476
3487RD_EXPORT
3488void rd_kafka_yield(rd_kafka_t *rk);
3489
3490
3491
3499RD_EXPORT rd_kafka_resp_err_t
3502
3503
3504
3512RD_EXPORT rd_kafka_resp_err_t
3515
3516
3517
3526RD_EXPORT rd_kafka_resp_err_t
3528 const char *topic,
3529 int32_t partition,
3530 int64_t *low,
3531 int64_t *high,
3532 int timeout_ms);
3533
3534
3552 const char *topic,
3553 int32_t partition,
3554 int64_t *low,
3555 int64_t *high);
3556
3557
3558
3584RD_EXPORT rd_kafka_resp_err_t
3587 int timeout_ms);
3588
3589
3590
3604RD_EXPORT
3605void *rd_kafka_mem_calloc(rd_kafka_t *rk, size_t num, size_t size);
3606
3607
3608
3622RD_EXPORT
3623void *rd_kafka_mem_malloc(rd_kafka_t *rk, size_t size);
3624
3625
3626
3643RD_EXPORT
3644void rd_kafka_mem_free(rd_kafka_t *rk, void *ptr);
3645
3646
3668RD_EXPORT
3669rd_kafka_queue_t *rd_kafka_queue_new(rd_kafka_t *rk);
3670
3674RD_EXPORT
3675void rd_kafka_queue_destroy(rd_kafka_queue_t *rkqu);
3676
3677
3684RD_EXPORT
3685rd_kafka_queue_t *rd_kafka_queue_get_main(rd_kafka_t *rk);
3686
3687
3688
3698RD_EXPORT
3699rd_kafka_queue_t *rd_kafka_queue_get_sasl(rd_kafka_t *rk);
3700
3701
3717RD_EXPORT
3718rd_kafka_error_t *rd_kafka_sasl_background_callbacks_enable(rd_kafka_t *rk);
3719
3720
3735RD_EXPORT
3736rd_kafka_error_t *rd_kafka_sasl_set_credentials(rd_kafka_t *rk,
3737 const char *username,
3738 const char *password);
3739
3755RD_EXPORT
3756rd_kafka_queue_t *rd_kafka_queue_get_consumer(rd_kafka_t *rk);
3757
3768RD_EXPORT
3769rd_kafka_queue_t *rd_kafka_queue_get_partition(rd_kafka_t *rk,
3770 const char *topic,
3771 int32_t partition);
3772
3795RD_EXPORT
3796rd_kafka_queue_t *rd_kafka_queue_get_background(rd_kafka_t *rk);
3797
3798
3809RD_EXPORT
3810void rd_kafka_queue_forward(rd_kafka_queue_t *src, rd_kafka_queue_t *dst);
3811
3830RD_EXPORT
3832 rd_kafka_queue_t *rkqu);
3833
3834
3838RD_EXPORT
3839size_t rd_kafka_queue_length(rd_kafka_queue_t *rkqu);
3840
3841
3859RD_EXPORT
3860void rd_kafka_queue_io_event_enable(rd_kafka_queue_t *rkqu,
3861 int fd,
3862 const void *payload,
3863 size_t size);
3864
3881RD_EXPORT
3882void rd_kafka_queue_cb_event_enable(rd_kafka_queue_t *rkqu,
3883 void (*event_cb)(rd_kafka_t *rk,
3884 void *qev_opaque),
3885 void *qev_opaque);
3886
3887
3895RD_EXPORT
3896void rd_kafka_queue_yield(rd_kafka_queue_t *rkqu);
3897
3898
3909#define RD_KAFKA_OFFSET_BEGINNING \
3910 -2
3912#define RD_KAFKA_OFFSET_END \
3913 -1
3915#define RD_KAFKA_OFFSET_STORED \
3916 -1000
3918#define RD_KAFKA_OFFSET_INVALID -1001
3922#define RD_KAFKA_OFFSET_TAIL_BASE -2000 /* internal: do not use */
3930#define RD_KAFKA_OFFSET_TAIL(CNT) (RD_KAFKA_OFFSET_TAIL_BASE - (CNT))
3931
3965RD_EXPORT
3966int rd_kafka_consume_start(rd_kafka_topic_t *rkt,
3967 int32_t partition,
3968 int64_t offset);
3969
3984RD_EXPORT
3985int rd_kafka_consume_start_queue(rd_kafka_topic_t *rkt,
3986 int32_t partition,
3987 int64_t offset,
3988 rd_kafka_queue_t *rkqu);
3989
4003RD_EXPORT
4004int rd_kafka_consume_stop(rd_kafka_topic_t *rkt, int32_t partition);
4005
4006
4007
4036RD_EXPORT
4038 int32_t partition,
4039 int64_t offset,
4040 int timeout_ms);
4041
4042
4043
4075RD_EXPORT rd_kafka_error_t *
4078 int timeout_ms);
4079
4080
4105RD_EXPORT
4107rd_kafka_consume(rd_kafka_topic_t *rkt, int32_t partition, int timeout_ms);
4108
4109
4110
4136RD_EXPORT
4137ssize_t rd_kafka_consume_batch(rd_kafka_topic_t *rkt,
4138 int32_t partition,
4139 int timeout_ms,
4140 rd_kafka_message_t **rkmessages,
4141 size_t rkmessages_size);
4142
4143
4144
4178RD_EXPORT
4179int rd_kafka_consume_callback(rd_kafka_topic_t *rkt,
4180 int32_t partition,
4181 int timeout_ms,
4182 void (*consume_cb)(rd_kafka_message_t *rkmessage,
4183 void *commit_opaque),
4184 void *commit_opaque);
4185
4186
4205RD_EXPORT
4207 int timeout_ms);
4208
4214RD_EXPORT
4215ssize_t rd_kafka_consume_batch_queue(rd_kafka_queue_t *rkqu,
4216 int timeout_ms,
4217 rd_kafka_message_t **rkmessages,
4218 size_t rkmessages_size);
4219
4229RD_EXPORT
4231 rd_kafka_queue_t *rkqu,
4232 int timeout_ms,
4233 void (*consume_cb)(rd_kafka_message_t *rkmessage, void *commit_opaque),
4234 void *commit_opaque);
4235
4236
4276RD_EXPORT
4278rd_kafka_offset_store(rd_kafka_topic_t *rkt, int32_t partition, int64_t offset);
4279
4280
4313RD_EXPORT rd_kafka_resp_err_t
4316
4317
4338RD_EXPORT
4340
4394RD_EXPORT rd_kafka_resp_err_t
4395rd_kafka_subscribe(rd_kafka_t *rk,
4396 const rd_kafka_topic_partition_list_t *topics);
4397
4398
4402RD_EXPORT
4404
4405
4415RD_EXPORT rd_kafka_resp_err_t
4417
4418
4419
4449RD_EXPORT
4450rd_kafka_message_t *rd_kafka_consumer_poll(rd_kafka_t *rk, int timeout_ms);
4451
4469RD_EXPORT
4471
4472
4490RD_EXPORT
4491rd_kafka_error_t *rd_kafka_consumer_close_queue(rd_kafka_t *rk,
4492 rd_kafka_queue_t *rkqu);
4493
4494
4503RD_EXPORT
4504int rd_kafka_consumer_closed(rd_kafka_t *rk);
4505
4506
4524RD_EXPORT rd_kafka_error_t *
4526 const rd_kafka_topic_partition_list_t *partitions);
4527
4528
4546RD_EXPORT rd_kafka_error_t *rd_kafka_incremental_unassign(
4547 rd_kafka_t *rk,
4548 const rd_kafka_topic_partition_list_t *partitions);
4549
4550
4564RD_EXPORT
4565const char *rd_kafka_rebalance_protocol(rd_kafka_t *rk);
4566
4567
4588RD_EXPORT rd_kafka_resp_err_t
4589rd_kafka_assign(rd_kafka_t *rk,
4590 const rd_kafka_topic_partition_list_t *partitions);
4591
4608RD_EXPORT rd_kafka_resp_err_t
4609rd_kafka_assignment(rd_kafka_t *rk,
4610 rd_kafka_topic_partition_list_t **partitions);
4611
4612
4629RD_EXPORT int rd_kafka_assignment_lost(rd_kafka_t *rk);
4630
4631
4667RD_EXPORT rd_kafka_resp_err_t
4668rd_kafka_commit(rd_kafka_t *rk,
4669 const rd_kafka_topic_partition_list_t *offsets,
4670 int async);
4671
4672
4679RD_EXPORT rd_kafka_resp_err_t
4681 const rd_kafka_message_t *rkmessage,
4682 int async);
4683
4684
4707RD_EXPORT rd_kafka_resp_err_t
4709 const rd_kafka_topic_partition_list_t *offsets,
4710 rd_kafka_queue_t *rkqu,
4711 void (*cb)(rd_kafka_t *rk,
4714 void *commit_opaque),
4715 void *commit_opaque);
4716
4717
4735RD_EXPORT rd_kafka_resp_err_t
4736rd_kafka_committed(rd_kafka_t *rk,
4738 int timeout_ms);
4739
4740
4741
4758RD_EXPORT rd_kafka_resp_err_t
4760
4761
4762
4774RD_EXPORT rd_kafka_consumer_group_metadata_t *
4776
4777
4787RD_EXPORT rd_kafka_consumer_group_metadata_t *
4789
4790
4803RD_EXPORT rd_kafka_consumer_group_metadata_t *
4805 int32_t generation_id,
4806 const char *member_id,
4807 const char *group_instance_id);
4808
4818RD_EXPORT
4820 const rd_kafka_consumer_group_metadata_t *group_metadata);
4821
4832RD_EXPORT
4834 const rd_kafka_consumer_group_metadata_t *group_metadata);
4835
4845RD_EXPORT
4847 const rd_kafka_consumer_group_metadata_t *group_metadata);
4848
4858RD_EXPORT
4860 const rd_kafka_consumer_group_metadata_t *group_metadata);
4861
4866RD_EXPORT void
4867rd_kafka_consumer_group_metadata_destroy(rd_kafka_consumer_group_metadata_t *);
4868
4869
4890RD_EXPORT rd_kafka_error_t *rd_kafka_consumer_group_metadata_write(
4891 const rd_kafka_consumer_group_metadata_t *cgmd,
4892 void **bufferp,
4893 size_t *sizep);
4894
4915RD_EXPORT rd_kafka_error_t *rd_kafka_consumer_group_metadata_read(
4916 rd_kafka_consumer_group_metadata_t **cgmdp,
4917 const void *buffer,
4918 size_t size);
4919
4935#define RD_KAFKA_MSG_F_FREE \
4936 0x1
4938#define RD_KAFKA_MSG_F_COPY \
4939 0x2
4941#define RD_KAFKA_MSG_F_BLOCK \
4942 0x4
4953#define RD_KAFKA_MSG_F_PARTITION \
4954 0x8
5059RD_EXPORT
5060int rd_kafka_produce(rd_kafka_topic_t *rkt,
5061 int32_t partition,
5062 int msgflags,
5063 void *payload,
5064 size_t len,
5065 const void *key,
5066 size_t keylen,
5067 void *msg_opaque);
5068
5069
5083RD_EXPORT
5085
5086
5098RD_EXPORT
5099rd_kafka_error_t *
5100rd_kafka_produceva(rd_kafka_t *rk, const rd_kafka_vu_t *vus, size_t cnt);
5101
5102
5132RD_EXPORT
5133int rd_kafka_produce_batch(rd_kafka_topic_t *rkt,
5134 int32_t partition,
5135 int msgflags,
5136 rd_kafka_message_t *rkmessages,
5137 int message_cnt);
5138
5139
5140
5165RD_EXPORT
5166rd_kafka_resp_err_t rd_kafka_flush(rd_kafka_t *rk, int timeout_ms);
5167
5168
5169
5200RD_EXPORT
5201rd_kafka_resp_err_t rd_kafka_purge(rd_kafka_t *rk, int purge_flags);
5202
5203
5211#define RD_KAFKA_PURGE_F_QUEUE 0x1
5212
5220#define RD_KAFKA_PURGE_F_INFLIGHT 0x2
5221
5222
5226#define RD_KAFKA_PURGE_F_NON_BLOCKING 0x4
5227
5228
5487
5494typedef struct rd_kafka_share_partition_offsets_s
5496
5502typedef struct rd_kafka_share_partition_offsets_list_s
5504
5512
5519RD_EXPORT const rd_kafka_share_partition_offsets_t *
5522 size_t index);
5523
5534
5540RD_EXPORT const rd_kafka_topic_partition_t *
5542 const rd_kafka_share_partition_offsets_t *partition_offsets);
5543
5544/*
5545 * TODO KIP-932: Recheck name once public interfaces are finalized.
5546 */
5553 const rd_kafka_share_partition_offsets_t *partition_offsets);
5554
5561 const rd_kafka_share_partition_offsets_t *partition_offsets);
5562
5563
5564/*
5565 * TODO KIP-932: understand whether all share consumer APIs need to be gated
5566 * once a fatal error has been raised on the handle, and check what the Java
5567 * client does in the fatal-error case.
5568 */
5601RD_EXPORT
5602rd_kafka_share_t *rd_kafka_share_consumer_new(rd_kafka_conf_t *conf,
5603 char *errstr,
5604 size_t errstr_size);
5605
5606
5639 rd_kafka_share_t *rkshare,
5640 void (*share_acknowledgement_commit_cb)(
5641 rd_kafka_share_t *rkshare,
5644 void *opaque),
5645 void *opaque);
5646
5647
5684RD_EXPORT rd_kafka_resp_err_t
5685rd_kafka_share_subscribe(rd_kafka_share_t *rkshare,
5686 const rd_kafka_topic_partition_list_t *topics);
5687
5688
5705RD_EXPORT
5707
5708
5729RD_EXPORT rd_kafka_resp_err_t
5730rd_kafka_share_subscription(rd_kafka_share_t *rkshare,
5732
5733
5786RD_EXPORT
5787rd_kafka_error_t *rd_kafka_share_poll(rd_kafka_share_t *rkshare,
5788 int timeout_ms,
5789 rd_kafka_messages_t **rkmessages);
5790
5791
5811RD_EXPORT
5813rd_kafka_share_acknowledge(rd_kafka_share_t *rkshare,
5814 const rd_kafka_message_t *rkmessage);
5815
5833RD_EXPORT
5835rd_kafka_share_acknowledge_type(rd_kafka_share_t *rkshare,
5836 const rd_kafka_message_t *rkmessage,
5838
5839/*
5840 * TODO KIP-932: Check if it should only be allowed for error cases
5841 * like Java.
5842 */
5862RD_EXPORT
5864rd_kafka_share_acknowledge_offset(rd_kafka_share_t *rkshare,
5865 const char *topic,
5866 int32_t partition,
5867 int64_t offset,
5869
5870
5895RD_EXPORT
5896rd_kafka_error_t *rd_kafka_share_commit_async(rd_kafka_share_t *rkshare);
5897
5934RD_EXPORT
5935rd_kafka_error_t *
5936rd_kafka_share_commit_sync(rd_kafka_share_t *rkshare,
5937 int timeout_ms,
5938 rd_kafka_topic_partition_list_t **partitions);
5939
5940
5963RD_EXPORT
5964rd_kafka_error_t *rd_kafka_share_consumer_close(rd_kafka_share_t *rkshare);
5965
5989RD_EXPORT
5990rd_kafka_error_t *rd_kafka_share_consumer_close_queue(rd_kafka_share_t *rkshare,
5991 rd_kafka_queue_t *rkqu);
5992
5993
6006RD_EXPORT
6007int rd_kafka_share_consumer_closed(rd_kafka_share_t *rkshare);
6008
6009
6025RD_EXPORT
6026rd_kafka_error_t *rd_kafka_share_destroy(rd_kafka_share_t *rkshare);
6027
6045RD_EXPORT
6046rd_kafka_error_t *rd_kafka_share_destroy_flags(rd_kafka_share_t *rkshare,
6047 int flags);
6048
6049
6078RD_EXPORT
6079rd_kafka_error_t *rd_kafka_share_set_log_queue(rd_kafka_share_t *rkshare,
6080 rd_kafka_queue_t *rkqu);
6081
6082
6099RD_EXPORT
6100rd_kafka_error_t *
6102
6103
6124RD_EXPORT
6125rd_kafka_error_t *rd_kafka_share_sasl_set_credentials(rd_kafka_share_t *rkshare,
6126 const char *username,
6127 const char *password);
6143typedef struct rd_kafka_metadata_broker {
6144 int32_t id;
6145 char *host;
6146 int port;
6148
6152typedef struct rd_kafka_metadata_partition {
6153 int32_t id;
6155 int32_t leader;
6157 int32_t *replicas;
6159 int32_t *isrs;
6161
6165typedef struct rd_kafka_metadata_topic {
6166 char *topic;
6168 struct rd_kafka_metadata_partition *partitions;
6171
6172
6176typedef struct rd_kafka_metadata {
6178 struct rd_kafka_metadata_broker *brokers;
6181 struct rd_kafka_metadata_topic *topics;
6186
6207RD_EXPORT
6209rd_kafka_metadata(rd_kafka_t *rk,
6210 int all_topics,
6211 rd_kafka_topic_t *only_rkt,
6212 const struct rd_kafka_metadata **metadatap,
6213 int timeout_ms);
6214
6218RD_EXPORT
6220
6224typedef struct rd_kafka_Node_s rd_kafka_Node_t;
6225
6233RD_EXPORT
6235
6246RD_EXPORT
6247const char *rd_kafka_Node_host(const rd_kafka_Node_t *node);
6248
6256RD_EXPORT
6258
6266RD_EXPORT
6267const char *rd_kafka_Node_rack(const rd_kafka_Node_t *node);
6268
6299
6305typedef enum {
6306 RD_KAFKA_CONSUMER_GROUP_STATE_UNKNOWN = 0,
6307 RD_KAFKA_CONSUMER_GROUP_STATE_PREPARING_REBALANCE = 1,
6308 RD_KAFKA_CONSUMER_GROUP_STATE_COMPLETING_REBALANCE = 2,
6309 RD_KAFKA_CONSUMER_GROUP_STATE_STABLE = 3,
6310 RD_KAFKA_CONSUMER_GROUP_STATE_DEAD = 4,
6311 RD_KAFKA_CONSUMER_GROUP_STATE_EMPTY = 5,
6312 RD_KAFKA_CONSUMER_GROUP_STATE__CNT
6314
6320typedef enum {
6321 RD_KAFKA_CONSUMER_GROUP_TYPE_UNKNOWN = 0,
6322 RD_KAFKA_CONSUMER_GROUP_TYPE_CONSUMER = 1,
6323 RD_KAFKA_CONSUMER_GROUP_TYPE_CLASSIC = 2,
6324 RD_KAFKA_CONSUMER_GROUP_TYPE__CNT
6326
6340
6350
6351
6382RD_EXPORT
6385 const char *group,
6386 const struct rd_kafka_group_list **grplistp,
6387 int timeout_ms);
6388
6396RD_EXPORT
6397const char *
6399
6407RD_EXPORT
6410
6418RD_EXPORT
6419const char *
6421
6431RD_EXPORT
6434
6438RD_EXPORT
6440
6441
6485RD_EXPORT
6486int rd_kafka_brokers_add(rd_kafka_t *rk, const char *brokerlist);
6487
6498RD_EXPORT
6499int32_t *rd_kafka_brokers_learned_ids(rd_kafka_t *rk, size_t *cntp);
6500
6501
6514RD_EXPORT RD_DEPRECATED void
6515rd_kafka_set_logger(rd_kafka_t *rk,
6516 void (*func)(const rd_kafka_t *rk,
6517 int level,
6518 const char *fac,
6519 const char *buf));
6520
6521
6531RD_EXPORT
6532void rd_kafka_set_log_level(rd_kafka_t *rk, int level);
6533
6534
6538RD_EXPORT
6539void rd_kafka_log_print(const rd_kafka_t *rk,
6540 int level,
6541 const char *fac,
6542 const char *buf);
6543
6544
6550RD_EXPORT
6551void rd_kafka_log_syslog(const rd_kafka_t *rk,
6552 int level,
6553 const char *fac,
6554 const char *buf);
6555
6556
6579RD_EXPORT
6580int rd_kafka_outq_len(rd_kafka_t *rk);
6581
6582
6583
6590RD_EXPORT
6591void rd_kafka_dump(FILE *fp, rd_kafka_t *rk);
6592
6593
6594
6600RD_EXPORT
6602
6603
6616
6617
6626RD_EXPORT
6627int rd_kafka_wait_destroyed(int timeout_ms);
6628
6629
6635RD_EXPORT
6637
6638
6655RD_EXPORT
6657
6658
6675#define RD_KAFKA_EVENT_NONE 0x0
6676#define RD_KAFKA_EVENT_DR 0x1
6677#define RD_KAFKA_EVENT_FETCH 0x2
6678#define RD_KAFKA_EVENT_LOG 0x4
6679#define RD_KAFKA_EVENT_ERROR 0x8
6680#define RD_KAFKA_EVENT_REBALANCE 0x10
6681#define RD_KAFKA_EVENT_OFFSET_COMMIT 0x20
6682#define RD_KAFKA_EVENT_STATS 0x40
6683#define RD_KAFKA_EVENT_CREATETOPICS_RESULT 100
6684#define RD_KAFKA_EVENT_DELETETOPICS_RESULT 101
6685#define RD_KAFKA_EVENT_CREATEPARTITIONS_RESULT \
6686 102
6687#define RD_KAFKA_EVENT_ALTERCONFIGS_RESULT 103
6688#define RD_KAFKA_EVENT_DESCRIBECONFIGS_RESULT \
6689 104
6690#define RD_KAFKA_EVENT_DELETERECORDS_RESULT 105
6691#define RD_KAFKA_EVENT_DELETEGROUPS_RESULT 106
6693#define RD_KAFKA_EVENT_DELETECONSUMERGROUPOFFSETS_RESULT 107
6695#define RD_KAFKA_EVENT_OAUTHBEARER_TOKEN_REFRESH 0x100
6696#define RD_KAFKA_EVENT_BACKGROUND 0x200
6697#define RD_KAFKA_EVENT_CREATEACLS_RESULT 0x400
6698#define RD_KAFKA_EVENT_DESCRIBEACLS_RESULT 0x800
6699#define RD_KAFKA_EVENT_DELETEACLS_RESULT 0x1000
6701#define RD_KAFKA_EVENT_LISTCONSUMERGROUPS_RESULT 0x2000
6703#define RD_KAFKA_EVENT_DESCRIBECONSUMERGROUPS_RESULT 0x4000
6705#define RD_KAFKA_EVENT_LISTCONSUMERGROUPOFFSETS_RESULT 0x8000
6707#define RD_KAFKA_EVENT_ALTERCONSUMERGROUPOFFSETS_RESULT 0x10000
6709#define RD_KAFKA_EVENT_INCREMENTALALTERCONFIGS_RESULT 0x20000
6711#define RD_KAFKA_EVENT_DESCRIBEUSERSCRAMCREDENTIALS_RESULT 0x40000
6713#define RD_KAFKA_EVENT_ALTERUSERSCRAMCREDENTIALS_RESULT 0x80000
6715#define RD_KAFKA_EVENT_DESCRIBETOPICS_RESULT 0x100000
6717#define RD_KAFKA_EVENT_DESCRIBECLUSTER_RESULT 0x200000
6719#define RD_KAFKA_EVENT_LISTOFFSETS_RESULT 0x400000
6721#define RD_KAFKA_EVENT_ELECTLEADERS_RESULT 0x800000
6722
6729RD_EXPORT
6730rd_kafka_event_type_t rd_kafka_event_type(const rd_kafka_event_t *rkev);
6731
6738RD_EXPORT
6739const char *rd_kafka_event_name(const rd_kafka_event_t *rkev);
6740
6741
6751RD_EXPORT
6752void rd_kafka_event_destroy(rd_kafka_event_t *rkev);
6753
6754
6770RD_EXPORT
6772
6773
6787RD_EXPORT
6788size_t rd_kafka_event_message_array(rd_kafka_event_t *rkev,
6789 const rd_kafka_message_t **rkmessages,
6790 size_t size);
6791
6792
6800RD_EXPORT
6801size_t rd_kafka_event_message_count(rd_kafka_event_t *rkev);
6802
6803
6815RD_EXPORT
6816const char *rd_kafka_event_config_string(rd_kafka_event_t *rkev);
6817
6818
6827RD_EXPORT
6829
6830
6839RD_EXPORT
6840const char *rd_kafka_event_error_string(rd_kafka_event_t *rkev);
6841
6842
6851RD_EXPORT
6852int rd_kafka_event_error_is_fatal(rd_kafka_event_t *rkev);
6853
6854
6882RD_EXPORT
6883void *rd_kafka_event_opaque(rd_kafka_event_t *rkev);
6884
6885
6894RD_EXPORT
6895int rd_kafka_event_log(rd_kafka_event_t *rkev,
6896 const char **fac,
6897 const char **str,
6898 int *level);
6899
6900
6912RD_EXPORT
6913int rd_kafka_event_debug_contexts(rd_kafka_event_t *rkev,
6914 char *dst,
6915 size_t dstsize);
6916
6917
6930RD_EXPORT
6931const char *rd_kafka_event_stats(rd_kafka_event_t *rkev);
6932
6933
6946
6947
6959rd_kafka_event_topic_partition(rd_kafka_event_t *rkev);
6960
6961
6963typedef rd_kafka_event_t rd_kafka_CreateTopics_result_t;
6965typedef rd_kafka_event_t rd_kafka_DeleteTopics_result_t;
6967typedef rd_kafka_event_t rd_kafka_CreateAcls_result_t;
6969typedef rd_kafka_event_t rd_kafka_DescribeAcls_result_t;
6971typedef rd_kafka_event_t rd_kafka_DeleteAcls_result_t;
6973typedef rd_kafka_event_t rd_kafka_CreatePartitions_result_t;
6975typedef rd_kafka_event_t rd_kafka_AlterConfigs_result_t;
6979typedef rd_kafka_event_t rd_kafka_DescribeConfigs_result_t;
6981typedef rd_kafka_event_t rd_kafka_DeleteRecords_result_t;
6987typedef rd_kafka_event_t rd_kafka_DeleteGroups_result_t;
6995typedef rd_kafka_event_t rd_kafka_DescribeTopics_result_t;
6997typedef rd_kafka_event_t rd_kafka_DescribeCluster_result_t;
7003typedef rd_kafka_event_t rd_kafka_ListOffsets_result_t;
7005typedef rd_kafka_event_t rd_kafka_ElectLeaders_result_t;
7006
7016RD_EXPORT const rd_kafka_CreateTopics_result_t *
7018
7028RD_EXPORT const rd_kafka_DeleteTopics_result_t *
7030
7040RD_EXPORT const rd_kafka_CreatePartitions_result_t *
7042
7052RD_EXPORT const rd_kafka_AlterConfigs_result_t *
7054
7066
7076RD_EXPORT const rd_kafka_DescribeConfigs_result_t *
7078
7086RD_EXPORT const rd_kafka_DeleteRecords_result_t *
7088
7103
7118
7131RD_EXPORT const rd_kafka_DescribeTopics_result_t *
7133
7146RD_EXPORT const rd_kafka_DescribeCluster_result_t *
7157RD_EXPORT const rd_kafka_DeleteGroups_result_t *
7159
7171
7179RD_EXPORT const rd_kafka_CreateAcls_result_t *
7180rd_kafka_event_CreateAcls_result(rd_kafka_event_t *rkev);
7181
7189RD_EXPORT const rd_kafka_DescribeAcls_result_t *
7191
7199RD_EXPORT const rd_kafka_DeleteAcls_result_t *
7200rd_kafka_event_DeleteAcls_result(rd_kafka_event_t *rkev);
7201
7216
7231
7244RD_EXPORT const rd_kafka_ListOffsets_result_t *
7246
7247
7262
7277
7290RD_EXPORT const rd_kafka_ElectLeaders_result_t *
7292
7302RD_EXPORT
7303rd_kafka_event_t *rd_kafka_queue_poll(rd_kafka_queue_t *rkqu, int timeout_ms);
7304
7319RD_EXPORT
7320int rd_kafka_queue_poll_callback(rd_kafka_queue_t *rkqu, int timeout_ms);
7321
7322
7367 rd_kafka_conf_t *conf,
7368 void **plug_opaquep,
7369 char *errstr,
7370 size_t errstr_size);
7371
7453 rd_kafka_conf_t *conf,
7454 const char *name,
7455 const char *val,
7456 char *errstr,
7457 size_t errstr_size,
7458 void *ic_opaque);
7459
7460
7483 rd_kafka_conf_t *new_conf,
7484 const rd_kafka_conf_t *old_conf,
7485 size_t filter_cnt,
7486 const char **filter,
7487 void *ic_opaque);
7488
7489
7497 void *ic_opaque);
7498
7499
7518 rd_kafka_t *rk,
7519 const rd_kafka_conf_t *conf,
7520 void *ic_opaque,
7521 char *errstr,
7522 size_t errstr_size);
7523
7524
7533 rd_kafka_interceptor_f_on_destroy_t)(rd_kafka_t *rk, void *ic_opaque);
7534
7535
7536
7558 rd_kafka_t *rk,
7559 rd_kafka_message_t *rkmessage,
7560 void *ic_opaque);
7561
7585 rd_kafka_t *rk,
7586 rd_kafka_message_t *rkmessage,
7587 void *ic_opaque);
7588
7589
7607 rd_kafka_t *rk,
7608 rd_kafka_message_t *rkmessage,
7609 void *ic_opaque);
7610
7633 rd_kafka_t *rk,
7634 const rd_kafka_topic_partition_list_t *offsets,
7636 void *ic_opaque);
7637
7638
7661 rd_kafka_t *rk,
7662 int sockfd,
7663 const char *brokername,
7664 int32_t brokerid,
7665 int16_t ApiKey,
7666 int16_t ApiVersion,
7667 int32_t CorrId,
7668 size_t size,
7669 void *ic_opaque);
7670
7671
7698 rd_kafka_t *rk,
7699 int sockfd,
7700 const char *brokername,
7701 int32_t brokerid,
7702 int16_t ApiKey,
7703 int16_t ApiVersion,
7704 int32_t CorrId,
7705 size_t size,
7706 int64_t rtt,
7708 void *ic_opaque);
7709
7710
7728 rd_kafka_t *rk,
7729 rd_kafka_thread_type_t thread_type,
7730 const char *thread_name,
7731 void *ic_opaque);
7732
7733
7754 rd_kafka_t *rk,
7755 rd_kafka_thread_type_t thread_type,
7756 const char *thread_name,
7757 void *ic_opaque);
7758
7759
7775 rd_kafka_t *rk,
7776 int32_t broker_id,
7777 const char *secproto,
7778 const char *name,
7779 int port,
7780 const char *state,
7781 void *ic_opaque);
7782
7783
7797 rd_kafka_conf_t *conf,
7798 const char *ic_name,
7800 void *ic_opaque);
7801
7802
7816 rd_kafka_conf_t *conf,
7817 const char *ic_name,
7819 void *ic_opaque);
7820
7835 rd_kafka_conf_t *conf,
7836 const char *ic_name,
7838 void *ic_opaque);
7839
7840
7862RD_EXPORT rd_kafka_resp_err_t
7864 const char *ic_name,
7866 void *ic_opaque);
7867
7868
7869
7883 rd_kafka_t *rk,
7884 const char *ic_name,
7886 void *ic_opaque);
7887
7888
7901RD_EXPORT rd_kafka_resp_err_t
7903 const char *ic_name,
7905 void *ic_opaque);
7906
7920 rd_kafka_t *rk,
7921 const char *ic_name,
7923 void *ic_opaque);
7924
7925
7939 rd_kafka_t *rk,
7940 const char *ic_name,
7942 void *ic_opaque);
7943
7944
7958 rd_kafka_t *rk,
7959 const char *ic_name,
7961 void *ic_opaque);
7962
7963
7977 rd_kafka_t *rk,
7978 const char *ic_name,
7980 void *ic_opaque);
7981
7982
7996 rd_kafka_t *rk,
7997 const char *ic_name,
7999 void *ic_opaque);
8000
8001
8015 rd_kafka_t *rk,
8016 const char *ic_name,
8018 void *ic_opaque);
8019
8020
8034 rd_kafka_t *rk,
8035 const char *ic_name,
8037 void *ic_opaque);
8038
8039
8052RD_EXPORT
8054 rd_kafka_t *rk,
8055 const char *ic_name,
8057 void *ic_opaque);
8058
8059
8060
8081RD_EXPORT rd_kafka_resp_err_t
8082rd_kafka_topic_result_error(const rd_kafka_topic_result_t *topicres);
8083
8090RD_EXPORT const char *
8091rd_kafka_topic_result_error_string(const rd_kafka_topic_result_t *topicres);
8092
8098RD_EXPORT const char *
8099rd_kafka_topic_result_name(const rd_kafka_topic_result_t *topicres);
8100
8110RD_EXPORT const rd_kafka_error_t *
8111rd_kafka_group_result_error(const rd_kafka_group_result_t *groupres);
8112
8118RD_EXPORT const char *
8119rd_kafka_group_result_name(const rd_kafka_group_result_t *groupres);
8120
8126RD_EXPORT const rd_kafka_topic_partition_list_t *
8127rd_kafka_group_result_partitions(const rd_kafka_group_result_t *groupres);
8128
8142RD_EXPORT const rd_kafka_topic_partition_t *
8144 const rd_kafka_topic_partition_result_t *partition_result);
8145
8151RD_EXPORT const rd_kafka_error_t *rd_kafka_topic_partition_result_error(
8152 const rd_kafka_topic_partition_result_t *partition_result);
8153
8232
8245typedef struct rd_kafka_AdminOptions_s rd_kafka_AdminOptions_t;
8246
8255 RD_KAFKA_ISOLATION_LEVEL_READ_UNCOMMITTED = 0,
8256 RD_KAFKA_ISOLATION_LEVEL_READ_COMMITTED = 1
8258
8278RD_EXPORT rd_kafka_AdminOptions_t *
8280
8281
8286
8287
8305RD_EXPORT rd_kafka_resp_err_t
8307 int timeout_ms,
8308 char *errstr,
8309 size_t errstr_size);
8310
8311
8338RD_EXPORT rd_kafka_resp_err_t
8340 int timeout_ms,
8341 char *errstr,
8342 size_t errstr_size);
8343
8344
8363RD_EXPORT rd_kafka_resp_err_t
8365 int true_or_false,
8366 char *errstr,
8367 size_t errstr_size);
8368
8369
8397RD_EXPORT rd_kafka_resp_err_t
8399 int32_t broker_id,
8400 char *errstr,
8401 size_t errstr_size);
8402
8403
8416RD_EXPORT
8418 rd_kafka_AdminOptions_t *options,
8419 int true_or_false);
8420
8435RD_EXPORT
8437 rd_kafka_AdminOptions_t *options,
8438 int true_or_false);
8439
8452RD_EXPORT
8454 rd_kafka_AdminOptions_t *options,
8455 const rd_kafka_consumer_group_state_t *consumer_group_states,
8456 size_t consumer_group_states_cnt);
8457
8470RD_EXPORT
8472 rd_kafka_AdminOptions_t *options,
8473 const rd_kafka_consumer_group_type_t *consumer_group_types,
8474 size_t consumer_group_types_cnt);
8475
8479RD_EXPORT
8480rd_kafka_error_t *
8483
8488RD_EXPORT void
8490 void *ev_opaque);
8491
8492
8493
8520
8532typedef struct rd_kafka_NewTopic_s rd_kafka_NewTopic_t;
8533
8555RD_EXPORT rd_kafka_NewTopic_t *rd_kafka_NewTopic_new(const char *topic,
8556 int num_partitions,
8557 int replication_factor,
8558 char *errstr,
8559 size_t errstr_size);
8560
8566
8567
8574 size_t new_topic_cnt);
8575
8576
8598RD_EXPORT rd_kafka_resp_err_t
8600 int32_t partition,
8601 int32_t *broker_ids,
8602 size_t broker_id_cnt,
8603 char *errstr,
8604 size_t errstr_size);
8605
8618RD_EXPORT rd_kafka_resp_err_t
8620 const char *name,
8621 const char *value);
8622
8623
8642RD_EXPORT void rd_kafka_CreateTopics(rd_kafka_t *rk,
8643 rd_kafka_NewTopic_t **new_topics,
8644 size_t new_topic_cnt,
8645 const rd_kafka_AdminOptions_t *options,
8646 rd_kafka_queue_t *rkqu);
8647
8648
8649/*
8650 * CreateTopics result type and methods
8651 */
8652
8661RD_EXPORT const rd_kafka_topic_result_t **rd_kafka_CreateTopics_result_topics(
8662 const rd_kafka_CreateTopics_result_t *result,
8663 size_t *cntp);
8664
8665
8666
8667/*
8668 * DeleteTopics - delete topics from cluster
8669 *
8670 */
8671
8673typedef struct rd_kafka_DeleteTopic_s rd_kafka_DeleteTopic_t;
8674
8685
8691
8697RD_EXPORT void
8699 size_t del_topic_cnt);
8700
8714RD_EXPORT
8715void rd_kafka_DeleteTopics(rd_kafka_t *rk,
8716 rd_kafka_DeleteTopic_t **del_topics,
8717 size_t del_topic_cnt,
8718 const rd_kafka_AdminOptions_t *options,
8719 rd_kafka_queue_t *rkqu);
8720
8721
8722
8723/*
8724 * DeleteTopics result type and methods
8725 */
8726
8735RD_EXPORT const rd_kafka_topic_result_t **rd_kafka_DeleteTopics_result_topics(
8736 const rd_kafka_DeleteTopics_result_t *result,
8737 size_t *cntp);
8738
8739
8750typedef struct rd_kafka_NewPartitions_s rd_kafka_NewPartitions_t;
8751
8768RD_EXPORT rd_kafka_NewPartitions_t *
8770 size_t new_total_cnt,
8771 char *errstr,
8772 size_t errstr_size);
8773
8778RD_EXPORT void
8780
8786RD_EXPORT void
8788 size_t new_parts_cnt);
8789
8813 rd_kafka_NewPartitions_t *new_parts,
8814 int32_t new_partition_idx,
8815 int32_t *broker_ids,
8816 size_t broker_id_cnt,
8817 char *errstr,
8818 size_t errstr_size);
8819
8820
8839RD_EXPORT void rd_kafka_CreatePartitions(rd_kafka_t *rk,
8840 rd_kafka_NewPartitions_t **new_parts,
8841 size_t new_parts_cnt,
8842 const rd_kafka_AdminOptions_t *options,
8843 rd_kafka_queue_t *rkqu);
8844
8845
8846
8847/*
8848 * CreatePartitions result type and methods
8849 */
8850
8859RD_EXPORT const rd_kafka_topic_result_t **
8862 size_t *cntp);
8863
8905
8906
8910RD_EXPORT const char *
8912
8913
8915typedef struct rd_kafka_ConfigEntry_s rd_kafka_ConfigEntry_t;
8916
8920RD_EXPORT const char *
8922
8927RD_EXPORT const char *
8929
8935
8940RD_EXPORT int
8942
8948RD_EXPORT int
8950
8958RD_EXPORT int
8960
8964RD_EXPORT int
8966
8967
8978RD_EXPORT const rd_kafka_ConfigEntry_t **
8980 size_t *cntp);
8981
8982
8983
8997
9015
9021 RD_KAFKA_ALTER_CONFIG_OP_TYPE_SET = 0,
9022 RD_KAFKA_ALTER_CONFIG_OP_TYPE_DELETE = 1,
9023 RD_KAFKA_ALTER_CONFIG_OP_TYPE_APPEND = 2,
9024 RD_KAFKA_ALTER_CONFIG_OP_TYPE_SUBTRACT = 3,
9025 RD_KAFKA_ALTER_CONFIG_OP_TYPE__CNT,
9027
9032 rd_kafka_ResourcePatternType_t resource_pattern_type);
9033
9037RD_EXPORT const char *
9039
9041typedef struct rd_kafka_ConfigResource_s rd_kafka_ConfigResource_t;
9042
9043
9052RD_EXPORT rd_kafka_ConfigResource_t *
9054 const char *resname);
9055
9060RD_EXPORT void
9062
9063
9069RD_EXPORT void
9071 size_t config_cnt);
9072
9073
9087RD_EXPORT rd_kafka_resp_err_t
9089 const char *name,
9090 const char *value);
9091
9092
9113 const char *name,
9115 const char *value);
9116
9117
9126RD_EXPORT const rd_kafka_ConfigEntry_t **
9128 size_t *cntp);
9129
9130
9131
9137
9141RD_EXPORT const char *
9143
9147RD_EXPORT rd_kafka_resp_err_t
9149
9154RD_EXPORT const char *
9156
9157
9158/*
9159 * AlterConfigs - alter cluster configuration.
9160 *
9161 */
9162
9163
9186RD_EXPORT
9187void rd_kafka_AlterConfigs(rd_kafka_t *rk,
9188 rd_kafka_ConfigResource_t **configs,
9189 size_t config_cnt,
9190 const rd_kafka_AdminOptions_t *options,
9191 rd_kafka_queue_t *rkqu);
9192
9193
9194/*
9195 * AlterConfigs result type and methods
9196 */
9197
9212RD_EXPORT const rd_kafka_ConfigResource_t **
9214 const rd_kafka_AlterConfigs_result_t *result,
9215 size_t *cntp);
9216
9217
9218
9219/*
9220 * IncrementalAlterConfigs - alter cluster configuration incrementally.
9221 *
9222 */
9223
9224
9245RD_EXPORT
9247 rd_kafka_ConfigResource_t **configs,
9248 size_t config_cnt,
9249 const rd_kafka_AdminOptions_t *options,
9250 rd_kafka_queue_t *rkqu);
9251
9252
9253/*
9254 * IncrementalAlterConfigs result type and methods
9255 */
9256
9272RD_EXPORT const rd_kafka_ConfigResource_t **
9275 size_t *cntp);
9276
9277
9278
9279/*
9280 * DescribeConfigs - retrieve cluster configuration.
9281 *
9282 */
9283
9284
9309RD_EXPORT
9310void rd_kafka_DescribeConfigs(rd_kafka_t *rk,
9311 rd_kafka_ConfigResource_t **configs,
9312 size_t config_cnt,
9313 const rd_kafka_AdminOptions_t *options,
9314 rd_kafka_queue_t *rkqu);
9315
9316
9317
9318/*
9319 * DescribeConfigs result type and methods
9320 */
9321
9330RD_EXPORT const rd_kafka_ConfigResource_t **
9333 size_t *cntp);
9334
9335
9346typedef struct rd_kafka_DeleteRecords_s rd_kafka_DeleteRecords_t;
9347
9365 const rd_kafka_topic_partition_list_t *before_offsets);
9366
9371RD_EXPORT void
9373
9379RD_EXPORT void
9381 size_t del_record_cnt);
9382
9404RD_EXPORT void rd_kafka_DeleteRecords(rd_kafka_t *rk,
9405 rd_kafka_DeleteRecords_t **del_records,
9406 size_t del_record_cnt,
9407 const rd_kafka_AdminOptions_t *options,
9408 rd_kafka_queue_t *rkqu);
9409
9410
9411/*
9412 * DeleteRecords result type and methods
9413 */
9414
9424RD_EXPORT const rd_kafka_topic_partition_list_t *
9426 const rd_kafka_DeleteRecords_result_t *result);
9427
9439typedef struct rd_kafka_TopicCollection_s rd_kafka_TopicCollection_t;
9440
9445typedef struct rd_kafka_TopicPartitionInfo_s rd_kafka_TopicPartitionInfo_t;
9446
9451typedef struct rd_kafka_TopicDescription_s rd_kafka_TopicDescription_t;
9452
9462RD_EXPORT
9464rd_kafka_TopicCollection_of_topic_names(const char **topics, size_t topics_cnt);
9465
9470RD_EXPORT void
9472
9487RD_EXPORT
9488void rd_kafka_DescribeTopics(rd_kafka_t *rk,
9489 const rd_kafka_TopicCollection_t *topics,
9490 const rd_kafka_AdminOptions_t *options,
9491 rd_kafka_queue_t *rkqu);
9492
9502RD_EXPORT
9505 size_t *cntp);
9506
9507
9518RD_EXPORT
9520 const rd_kafka_TopicDescription_t *topicdesc,
9521 size_t *cntp);
9522
9523
9531RD_EXPORT
9533 const rd_kafka_TopicPartitionInfo_t *partition);
9534
9535
9546RD_EXPORT
9548 const rd_kafka_TopicPartitionInfo_t *partition);
9549
9561RD_EXPORT
9562const rd_kafka_Node_t **
9564 size_t *cntp);
9565
9577RD_EXPORT
9579 const rd_kafka_TopicPartitionInfo_t *partition,
9580 size_t *cntp);
9581
9594RD_EXPORT
9596 const rd_kafka_TopicDescription_t *topicdesc,
9597 size_t *cntp);
9598
9609RD_EXPORT
9610const char *
9612
9622RD_EXPORT const rd_kafka_Uuid_t *rd_kafka_TopicDescription_topic_id(
9623 const rd_kafka_TopicDescription_t *topicdesc);
9624
9632RD_EXPORT
9634 const rd_kafka_TopicDescription_t *topicdesc);
9635
9646RD_EXPORT
9647const rd_kafka_error_t *
9649
9650
9670RD_EXPORT
9671void rd_kafka_DescribeCluster(rd_kafka_t *rk,
9672 const rd_kafka_AdminOptions_t *options,
9673 rd_kafka_queue_t *rkqu);
9674
9685RD_EXPORT
9688 size_t *cntp);
9689
9701RD_EXPORT
9705 size_t *cntp);
9706
9714RD_EXPORT
9716 const rd_kafka_DescribeCluster_result_t *result);
9717
9727RD_EXPORT
9729 const rd_kafka_DescribeCluster_result_t *result);
9730
9745typedef struct rd_kafka_ConsumerGroupListing_s rd_kafka_ConsumerGroupListing_t;
9746
9748typedef struct rd_kafka_ListConsumerGroupsResult_s
9750
9761RD_EXPORT
9763 const rd_kafka_AdminOptions_t *options,
9764 rd_kafka_queue_t *rkqu);
9765
9776RD_EXPORT
9778 const rd_kafka_ConsumerGroupListing_t *grplist);
9779
9788RD_EXPORT
9790 const rd_kafka_ConsumerGroupListing_t *grplist);
9791
9799RD_EXPORT
9801 const rd_kafka_ConsumerGroupListing_t *grplist);
9802
9810RD_EXPORT
9812 const rd_kafka_ConsumerGroupListing_t *grplist);
9813
9825RD_EXPORT
9829 size_t *cntp);
9830
9844RD_EXPORT
9847 size_t *cntp);
9848
9860typedef struct rd_kafka_ConsumerGroupDescription_s
9862
9867typedef struct rd_kafka_MemberDescription_s rd_kafka_MemberDescription_t;
9868
9873typedef struct rd_kafka_MemberAssignment_s rd_kafka_MemberAssignment_t;
9874
9890RD_EXPORT
9892 const char **groups,
9893 size_t groups_cnt,
9894 const rd_kafka_AdminOptions_t *options,
9895 rd_kafka_queue_t *rkqu);
9896
9908RD_EXPORT
9912 size_t *cntp);
9913
9914
9925RD_EXPORT
9928
9939RD_EXPORT
9942
9950RD_EXPORT
9953
9954
9965RD_EXPORT
9968
9981RD_EXPORT
9985 size_t *cntp);
9986
9994RD_EXPORT
9997
10008RD_EXPORT
10011
10019RD_EXPORT
10022
10030RD_EXPORT
10033
10046RD_EXPORT
10049 size_t idx);
10050
10061RD_EXPORT
10063 const rd_kafka_MemberDescription_t *member);
10064
10075RD_EXPORT
10077 const rd_kafka_MemberDescription_t *member);
10078
10089RD_EXPORT
10091 const rd_kafka_MemberDescription_t *member);
10092
10103RD_EXPORT
10104const char *
10106
10117RD_EXPORT
10119 const rd_kafka_MemberDescription_t *member);
10120
10131RD_EXPORT
10133 const rd_kafka_MemberAssignment_t *assignment);
10134
10146RD_EXPORT
10148 const rd_kafka_MemberDescription_t *member);
10149
10161typedef struct rd_kafka_DeleteGroup_s rd_kafka_DeleteGroup_t;
10162
10172RD_EXPORT
10174
10179RD_EXPORT
10181
10187RD_EXPORT void
10189 size_t del_group_cnt);
10190
10206RD_EXPORT
10207void rd_kafka_DeleteGroups(rd_kafka_t *rk,
10208 rd_kafka_DeleteGroup_t **del_groups,
10209 size_t del_group_cnt,
10210 const rd_kafka_AdminOptions_t *options,
10211 rd_kafka_queue_t *rkqu);
10212
10213
10214
10215/*
10216 * DeleteGroups result type and methods
10217 */
10218
10227RD_EXPORT const rd_kafka_group_result_t **rd_kafka_DeleteGroups_result_groups(
10228 const rd_kafka_DeleteGroups_result_t *result,
10229 size_t *cntp);
10230
10241typedef struct rd_kafka_ListConsumerGroupOffsets_s
10243
10258 const char *group_id,
10259 const rd_kafka_topic_partition_list_t *partitions);
10260
10266 rd_kafka_ListConsumerGroupOffsets_t *list_grpoffsets);
10267
10274 rd_kafka_ListConsumerGroupOffsets_t **list_grpoffsets,
10275 size_t list_grpoffset_cnt);
10276
10294RD_EXPORT
10296 rd_kafka_t *rk,
10297 rd_kafka_ListConsumerGroupOffsets_t **list_grpoffsets,
10298 size_t list_grpoffsets_cnt,
10299 const rd_kafka_AdminOptions_t *options,
10300 rd_kafka_queue_t *rkqu);
10301
10302
10303
10304/*
10305 * ListConsumerGroupOffsets result type and methods
10306 */
10307
10319RD_EXPORT const rd_kafka_group_result_t **
10322 size_t *cntp);
10323
10324
10325
10336typedef struct rd_kafka_AlterConsumerGroupOffsets_s
10338
10353 const char *group_id,
10354 const rd_kafka_topic_partition_list_t *partitions);
10355
10361 rd_kafka_AlterConsumerGroupOffsets_t *alter_grpoffsets);
10362
10369 rd_kafka_AlterConsumerGroupOffsets_t **alter_grpoffsets,
10370 size_t alter_grpoffset_cnt);
10371
10390RD_EXPORT
10392 rd_kafka_t *rk,
10393 rd_kafka_AlterConsumerGroupOffsets_t **alter_grpoffsets,
10394 size_t alter_grpoffsets_cnt,
10395 const rd_kafka_AdminOptions_t *options,
10396 rd_kafka_queue_t *rkqu);
10397
10398
10399
10400/*
10401 * AlterConsumerGroupOffsets result type and methods
10402 */
10403
10415RD_EXPORT const rd_kafka_group_result_t **
10418 size_t *cntp);
10419
10420
10421
10432typedef struct rd_kafka_DeleteConsumerGroupOffsets_s
10434
10449 const char *group,
10450 const rd_kafka_topic_partition_list_t *partitions);
10451
10458
10466 size_t del_grpoffset_cnt);
10467
10486RD_EXPORT
10488 rd_kafka_t *rk,
10490 size_t del_grpoffsets_cnt,
10491 const rd_kafka_AdminOptions_t *options,
10492 rd_kafka_queue_t *rkqu);
10493
10494
10495
10496/*
10497 * DeleteConsumerGroupOffsets result type and methods
10498 */
10499
10508RD_EXPORT const rd_kafka_group_result_t **
10511 size_t *cntp);
10512
10526 /* Used to retrieve the offset with the largest timestamp of a partition
10527 * as message timestamps can be specified client side this may not match
10528 * the log end offset returned by SPEC_LATEST.
10529 */
10530 RD_KAFKA_OFFSET_SPEC_MAX_TIMESTAMP = -3,
10531 /* Used to retrieve the offset with the earliest timestamp of a
10532 partition. */
10533 RD_KAFKA_OFFSET_SPEC_EARLIEST = -2,
10534 /* Used to retrieve the offset with the latest timestamp of a partition.
10535 */
10536 RD_KAFKA_OFFSET_SPEC_LATEST = -1,
10538
10543typedef struct rd_kafka_ListOffsetsResultInfo_s
10545
10549RD_EXPORT
10552 const rd_kafka_ListOffsetsResultInfo_t *result_info);
10553
10557RD_EXPORT
10559 const rd_kafka_ListOffsetsResultInfo_t *result_info);
10560
10565RD_EXPORT
10568 size_t *cntp);
10569
10594RD_EXPORT
10595void rd_kafka_ListOffsets(rd_kafka_t *rk,
10596 rd_kafka_topic_partition_list_t *topic_partitions,
10597 const rd_kafka_AdminOptions_t *options,
10598 rd_kafka_queue_t *rkqu);
10599
10612 RD_KAFKA_SCRAM_MECHANISM_UNKNOWN = 0,
10613 RD_KAFKA_SCRAM_MECHANISM_SHA_256 = 1,
10614 RD_KAFKA_SCRAM_MECHANISM_SHA_512 = 2,
10615 RD_KAFKA_SCRAM_MECHANISM__CNT
10617
10623typedef struct rd_kafka_ScramCredentialInfo_s rd_kafka_ScramCredentialInfo_t;
10624
10628RD_EXPORT
10630 const rd_kafka_ScramCredentialInfo_t *scram_credential_info);
10631
10635RD_EXPORT
10637 const rd_kafka_ScramCredentialInfo_t *scram_credential_info);
10638
10645typedef struct rd_kafka_UserScramCredentialsDescription_s
10647
10651RD_EXPORT
10654
10658RD_EXPORT
10661
10666RD_EXPORT
10669
10674RD_EXPORT
10678 size_t idx);
10679
10689RD_EXPORT
10693 size_t *cntp);
10694
10706RD_EXPORT
10708 rd_kafka_t *rk,
10709 const char **users,
10710 size_t user_cnt,
10711 const rd_kafka_AdminOptions_t *options,
10712 rd_kafka_queue_t *rkqu);
10713
10717typedef struct rd_kafka_UserScramCredentialAlteration_s
10719
10740RD_EXPORT
10743 rd_kafka_ScramMechanism_t mechanism,
10744 int32_t iterations,
10745 const unsigned char *password,
10746 size_t password_size,
10747 const unsigned char *salt,
10748 size_t salt_size);
10749
10759RD_EXPORT
10762 rd_kafka_ScramMechanism_t mechanism);
10763
10764
10768RD_EXPORT
10771
10775RD_EXPORT
10778 size_t alteration_cnt);
10779
10783typedef struct rd_kafka_AlterUserScramCredentials_result_response_s
10785
10790RD_EXPORT
10793
10798RD_EXPORT
10799const rd_kafka_error_t *
10802
10811RD_EXPORT
10815 size_t *cntp);
10816
10830RD_EXPORT
10832 rd_kafka_t *rk,
10834 size_t alteration_cnt,
10835 const rd_kafka_AdminOptions_t *options,
10836 rd_kafka_queue_t *rkqu);
10837
10850typedef struct rd_kafka_AclBinding_s rd_kafka_AclBinding_t;
10851
10857
10861RD_EXPORT const rd_kafka_error_t *
10862rd_kafka_acl_result_error(const rd_kafka_acl_result_t *aclres);
10863
10864
10868RD_EXPORT const char *
10870
10883
10888 rd_kafka_AclPermissionType_t acl_permission_type);
10889
10908RD_EXPORT rd_kafka_AclBinding_t *
10910 const char *name,
10911 rd_kafka_ResourcePatternType_t resource_pattern_type,
10912 const char *principal,
10913 const char *host,
10914 rd_kafka_AclOperation_t operation,
10915 rd_kafka_AclPermissionType_t permission_type,
10916 char *errstr,
10917 size_t errstr_size);
10918
10946 const char *name,
10947 rd_kafka_ResourcePatternType_t resource_pattern_type,
10948 const char *principal,
10949 const char *host,
10950 rd_kafka_AclOperation_t operation,
10951 rd_kafka_AclPermissionType_t permission_type,
10952 char *errstr,
10953 size_t errstr_size);
10954
10960
10966RD_EXPORT const char *
10968
10974RD_EXPORT const char *
10976
10982RD_EXPORT const char *
10984
10990
10996
11002
11006RD_EXPORT const rd_kafka_error_t *
11008
11009
11015
11016
11022RD_EXPORT void
11024 size_t acl_bindings_cnt);
11025
11033RD_EXPORT const rd_kafka_acl_result_t **
11035 size_t *cntp);
11036
11053RD_EXPORT void rd_kafka_CreateAcls(rd_kafka_t *rk,
11054 rd_kafka_AclBinding_t **new_acls,
11055 size_t new_acls_cnt,
11056 const rd_kafka_AdminOptions_t *options,
11057 rd_kafka_queue_t *rkqu);
11058
11072RD_EXPORT const rd_kafka_AclBinding_t **
11074 size_t *cntp);
11075
11090RD_EXPORT void rd_kafka_DescribeAcls(rd_kafka_t *rk,
11091 rd_kafka_AclBindingFilter_t *acl_filter,
11092 const rd_kafka_AdminOptions_t *options,
11093 rd_kafka_queue_t *rkqu);
11094
11101typedef struct rd_kafka_DeleteAcls_result_response_s
11103
11113 size_t *cntp);
11114
11119RD_EXPORT const rd_kafka_error_t *rd_kafka_DeleteAcls_result_response_error(
11120 const rd_kafka_DeleteAcls_result_response_t *result_response);
11121
11122
11129RD_EXPORT const rd_kafka_AclBinding_t **
11131 const rd_kafka_DeleteAcls_result_response_t *result_response,
11132 size_t *matching_acls_cntp);
11133
11150RD_EXPORT void rd_kafka_DeleteAcls(rd_kafka_t *rk,
11151 rd_kafka_AclBindingFilter_t **del_acls,
11152 size_t del_acls_cnt,
11153 const rd_kafka_AdminOptions_t *options,
11154 rd_kafka_queue_t *rkqu);
11155
11169typedef struct rd_kafka_ElectLeaders_s rd_kafka_ElectLeaders_t;
11170
11179
11193RD_EXPORT rd_kafka_ElectLeaders_t *
11196
11203RD_EXPORT void
11205
11229RD_EXPORT void rd_kafka_ElectLeaders(rd_kafka_t *rk,
11230 rd_kafka_ElectLeaders_t *elect_leaders,
11231 const rd_kafka_AdminOptions_t *options,
11232 rd_kafka_queue_t *rkqu);
11233
11245RD_EXPORT const rd_kafka_topic_partition_result_t **
11247 const rd_kafka_ElectLeaders_result_t *result,
11248 size_t *cntp);
11249
11302RD_EXPORT
11305 const char *token_value,
11306 int64_t md_lifetime_ms,
11307 const char *md_principal_name,
11308 const char **extensions,
11309 size_t extension_size,
11310 char *errstr,
11311 size_t errstr_size);
11312
11333RD_EXPORT
11335 const char *errstr);
11336
11523RD_EXPORT
11524rd_kafka_error_t *rd_kafka_init_transactions(rd_kafka_t *rk, int timeout_ms);
11525
11526
11527
11572RD_EXPORT
11573rd_kafka_error_t *rd_kafka_begin_transaction(rd_kafka_t *rk);
11574
11575
11647RD_EXPORT
11649 rd_kafka_t *rk,
11650 const rd_kafka_topic_partition_list_t *offsets,
11651 const rd_kafka_consumer_group_metadata_t *cgmetadata,
11652 int timeout_ms);
11653
11654
11722RD_EXPORT
11723rd_kafka_error_t *rd_kafka_commit_transaction(rd_kafka_t *rk, int timeout_ms);
11724
11725
11784RD_EXPORT
11785rd_kafka_error_t *rd_kafka_abort_transaction(rd_kafka_t *rk, int timeout_ms);
11786
11787
11790/* @cond NO_DOC */
11791#ifdef __cplusplus
11792}
11793#endif
11794#endif /* _RDKAFKA_H_ */
11795/* @endcond NO_DOC */
RD_EXPORT const rd_kafka_topic_result_t ** rd_kafka_CreateTopics_result_topics(const rd_kafka_CreateTopics_result_t *result, size_t *cntp)
Get an array of topic results from a CreateTopics result.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_conf_interceptor_add_on_new(rd_kafka_conf_t *conf, const char *ic_name, rd_kafka_interceptor_f_on_new_t *on_new, void *ic_opaque)
Append an on_new() interceptor.
RD_EXPORT int32_t rd_kafka_msg_partitioner_murmur2(const rd_kafka_topic_t *rkt, const void *key, size_t keylen, int32_t partition_cnt, void *rkt_opaque, void *msg_opaque)
Murmur2 partitioner (Java compatible).
struct rd_kafka_Node_s rd_kafka_Node_t
Node (broker) information.
Definition rdkafka.h:6224
RD_EXPORT void rd_kafka_CreateAcls(rd_kafka_t *rk, rd_kafka_AclBinding_t **new_acls, size_t new_acls_cnt, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
Create acls as specified by the new_acls array of size new_topic_cnt elements.
RD_EXPORT size_t rd_kafka_messages_count(const rd_kafka_messages_t *messages)
Returns the number of messages in messages.
RD_EXPORT void rd_kafka_ElectLeaders_destroy(rd_kafka_ElectLeaders_t *elect_leaders)
Destroy and free a rd_kafka_ElectLeaders_t object previously created with rd_kafka_ElectLeaders_new()
rd_kafka_resp_err_t
Error codes.
Definition rdkafka.h:284
@ RD_KAFKA_RESP_ERR_DELEGATION_TOKEN_EXPIRED
Definition rdkafka.h:575
@ RD_KAFKA_RESP_ERR_POLICY_VIOLATION
Definition rdkafka.h:525
@ RD_KAFKA_RESP_ERR_TRANSACTION_COORDINATOR_FENCED
Definition rdkafka.h:546
@ RD_KAFKA_RESP_ERR__AUTO_OFFSET_RESET
Definition rdkafka.h:410
@ RD_KAFKA_RESP_ERR_RESOURCE_NOT_FOUND
Definition rdkafka.h:628
@ RD_KAFKA_RESP_ERR__PURGE_QUEUE
Definition rdkafka.h:386
@ RD_KAFKA_RESP_ERR_UNSUPPORTED_FOR_MESSAGE_FORMAT
Definition rdkafka.h:523
@ RD_KAFKA_RESP_ERR_OPERATION_NOT_ATTEMPTED
Definition rdkafka.h:552
@ RD_KAFKA_RESP_ERR_INVALID_TRANSACTION_TIMEOUT
Definition rdkafka.h:539
@ RD_KAFKA_RESP_ERR__INVALID_DIFFERENT_RECORD
Definition rdkafka.h:415
@ RD_KAFKA_RESP_ERR_INVALID_PRINCIPAL_TYPE
Definition rdkafka.h:577
@ RD_KAFKA_RESP_ERR_PREFERRED_LEADER_NOT_AVAILABLE
Definition rdkafka.h:603
@ RD_KAFKA_RESP_ERR__UNKNOWN_PARTITION
Definition rdkafka.h:310
@ RD_KAFKA_RESP_ERR__FS
Definition rdkafka.h:312
@ RD_KAFKA_RESP_ERR__TIMED_OUT
Definition rdkafka.h:320
@ RD_KAFKA_RESP_ERR_REQUEST_TIMED_OUT
Definition rdkafka.h:442
@ RD_KAFKA_RESP_ERR_LEADER_NOT_AVAILABLE
Definition rdkafka.h:436
@ RD_KAFKA_RESP_ERR_INVALID_REQUIRED_ACKS
Definition rdkafka.h:479
@ RD_KAFKA_RESP_ERR_INVALID_VOTER_KEY
Definition rdkafka.h:686
@ RD_KAFKA_RESP_ERR__FATAL
Definition rdkafka.h:390
@ RD_KAFKA_RESP_ERR_STALE_MEMBER_EPOCH
Definition rdkafka.h:655
@ RD_KAFKA_RESP_ERR__UNDERFLOW
Definition rdkafka.h:380
@ RD_KAFKA_RESP_ERR__BEGIN
Definition rdkafka.h:287
@ RD_KAFKA_RESP_ERR__NOENT
Definition rdkafka.h:378
@ RD_KAFKA_RESP_ERR_UNKNOWN_TOPIC_OR_PART
Definition rdkafka.h:432
@ RD_KAFKA_RESP_ERR_RECORD_LIST_TOO_LARGE
Definition rdkafka.h:473
@ RD_KAFKA_RESP_ERR_INVALID_PRODUCER_EPOCH
Definition rdkafka.h:531
@ RD_KAFKA_RESP_ERR_NETWORK_EXCEPTION
Definition rdkafka.h:454
@ RD_KAFKA_RESP_ERR_KAFKA_STORAGE_ERROR
Definition rdkafka.h:554
@ RD_KAFKA_RESP_ERR_UNKNOWN_CONTROLLER_ID
Definition rdkafka.h:661
@ RD_KAFKA_RESP_ERR_GROUP_ID_NOT_FOUND
Definition rdkafka.h:581
@ RD_KAFKA_RESP_ERR_INVALID_RECORD_STATE
Definition rdkafka.h:677
@ RD_KAFKA_RESP_ERR_TOPIC_ALREADY_EXISTS
Definition rdkafka.h:509
@ RD_KAFKA_RESP_ERR_COORDINATOR_NOT_AVAILABLE
Definition rdkafka.h:461
@ RD_KAFKA_RESP_ERR_MSG_SIZE_TOO_LARGE
Definition rdkafka.h:448
@ RD_KAFKA_RESP_ERR_DELEGATION_TOKEN_AUTH_DISABLED
Definition rdkafka.h:565
@ RD_KAFKA_RESP_ERR_DUPLICATE_RESOURCE
Definition rdkafka.h:630
@ RD_KAFKA_RESP_ERR_INVALID_CONFIG
Definition rdkafka.h:517
@ RD_KAFKA_RESP_ERR_FEATURE_UPDATE_FAILED
Definition rdkafka.h:639
@ RD_KAFKA_RESP_ERR_UNSUPPORTED_ENDPOINT_TYPE
Definition rdkafka.h:659
@ RD_KAFKA_RESP_ERR__MAX_POLL_EXCEEDED
Definition rdkafka.h:396
@ RD_KAFKA_RESP_ERR_INVALID_UPDATE_VERSION
Definition rdkafka.h:637
@ RD_KAFKA_RESP_ERR__UNKNOWN_GROUP
Definition rdkafka.h:332
@ RD_KAFKA_RESP_ERR__ISR_INSUFF
Definition rdkafka.h:324
@ RD_KAFKA_RESP_ERR_SASL_AUTHENTICATION_FAILED
Definition rdkafka.h:559
@ RD_KAFKA_RESP_ERR_UNKNOWN_SUBSCRIPTION_ID
Definition rdkafka.h:664
@ RD_KAFKA_RESP_ERR_TELEMETRY_TOO_LARGE
Definition rdkafka.h:667
@ RD_KAFKA_RESP_ERR_INVALID_PRODUCER_ID_MAPPING
Definition rdkafka.h:536
@ RD_KAFKA_RESP_ERR__IN_PROGRESS
Definition rdkafka.h:334
@ RD_KAFKA_RESP_ERR__READ_ONLY
Definition rdkafka.h:376
@ RD_KAFKA_RESP_ERR_NOT_ENOUGH_REPLICAS_AFTER_APPEND
Definition rdkafka.h:477
@ RD_KAFKA_RESP_ERR__UNKNOWN_BROKER
Definition rdkafka.h:398
@ RD_KAFKA_RESP_ERR_INCONSISTENT_GROUP_PROTOCOL
Definition rdkafka.h:483
@ RD_KAFKA_RESP_ERR_NON_EMPTY_GROUP
Definition rdkafka.h:579
@ RD_KAFKA_RESP_ERR_SECURITY_DISABLED
Definition rdkafka.h:550
@ RD_KAFKA_RESP_ERR_UNSUPPORTED_ASSIGNOR
Definition rdkafka.h:653
@ RD_KAFKA_RESP_ERR_TOPIC_DELETION_DISABLED
Definition rdkafka.h:589
@ RD_KAFKA_RESP_ERR_MISMATCHED_ENDPOINT_TYPE
Definition rdkafka.h:657
@ RD_KAFKA_RESP_ERR_DELEGATION_TOKEN_OWNER_MISMATCH
Definition rdkafka.h:569
@ RD_KAFKA_RESP_ERR__INVALID_ARG
Definition rdkafka.h:318
@ RD_KAFKA_RESP_ERR_SHARE_SESSION_LIMIT_REACHED
Definition rdkafka.h:703
@ RD_KAFKA_RESP_ERR_UNSUPPORTED_VERSION
Definition rdkafka.h:507
@ RD_KAFKA_RESP_ERR_SHARE_SESSION_NOT_FOUND
Definition rdkafka.h:679
@ RD_KAFKA_RESP_ERR__OUTDATED
Definition rdkafka.h:356
@ RD_KAFKA_RESP_ERR__FAIL
Definition rdkafka.h:295
@ RD_KAFKA_RESP_ERR_INVALID_MSG_SIZE
Definition rdkafka.h:434
@ RD_KAFKA_RESP_ERR_STALE_BROKER_EPOCH
Definition rdkafka.h:597
@ RD_KAFKA_RESP_ERR_COORDINATOR_LOAD_IN_PROGRESS
Definition rdkafka.h:456
@ RD_KAFKA_RESP_ERR__ASSIGN_PARTITIONS
Definition rdkafka.h:340
@ RD_KAFKA_RESP_ERR__VALUE_SERIALIZATION
Definition rdkafka.h:368
@ RD_KAFKA_RESP_ERR_FETCH_SESSION_ID_NOT_FOUND
Definition rdkafka.h:583
@ RD_KAFKA_RESP_ERR__REVOKE_PARTITIONS
Definition rdkafka.h:342
@ RD_KAFKA_RESP_ERR__APPLICATION
Definition rdkafka.h:404
@ RD_KAFKA_RESP_ERR_REPLICA_NOT_AVAILABLE
Definition rdkafka.h:446
@ RD_KAFKA_RESP_ERR__EXISTING_SUBSCRIPTION
Definition rdkafka.h:338
@ RD_KAFKA_RESP_ERR_NOT_CONTROLLER
Definition rdkafka.h:519
@ RD_KAFKA_RESP_ERR_DELEGATION_TOKEN_NOT_FOUND
Definition rdkafka.h:567
@ RD_KAFKA_RESP_ERR_REBOOTSTRAP_REQUIRED
Definition rdkafka.h:695
@ RD_KAFKA_RESP_ERR_LISTENER_NOT_FOUND
Definition rdkafka.h:587
@ RD_KAFKA_RESP_ERR_INVALID_GROUP_ID
Definition rdkafka.h:485
@ RD_KAFKA_RESP_ERR_UNSTABLE_OFFSET_COMMIT
Definition rdkafka.h:621
@ RD_KAFKA_RESP_ERR__GAPLESS_GUARANTEE
Definition rdkafka.h:394
@ RD_KAFKA_RESP_ERR__INVALID_TYPE
Definition rdkafka.h:382
@ RD_KAFKA_RESP_ERR_OFFSET_NOT_AVAILABLE
Definition rdkafka.h:599
@ RD_KAFKA_RESP_ERR__PURGE_INFLIGHT
Definition rdkafka.h:388
@ RD_KAFKA_RESP_ERR__STATE
Definition rdkafka.h:346
@ RD_KAFKA_RESP_ERR_UNKNOWN_PRODUCER_ID
Definition rdkafka.h:561
@ RD_KAFKA_RESP_ERR_UNKNOWN_LEADER_EPOCH
Definition rdkafka.h:593
@ RD_KAFKA_RESP_ERR_UNACCEPTABLE_CREDENTIAL
Definition rdkafka.h:632
@ RD_KAFKA_RESP_ERR_BROKER_NOT_AVAILABLE
Definition rdkafka.h:444
@ RD_KAFKA_RESP_ERR_INCONSISTENT_VOTER_SET
Definition rdkafka.h:635
@ RD_KAFKA_RESP_ERR_ELIGIBLE_LEADERS_NOT_AVAILABLE
Definition rdkafka.h:610
@ RD_KAFKA_RESP_ERR__RETRY
Definition rdkafka.h:384
@ RD_KAFKA_RESP_ERR_INVALID_REPLICATION_FACTOR
Definition rdkafka.h:513
@ RD_KAFKA_RESP_ERR_UNKNOWN_TOPIC_ID
Definition rdkafka.h:643
@ RD_KAFKA_RESP_ERR_NOT_COORDINATOR
Definition rdkafka.h:466
@ RD_KAFKA_RESP_ERR_STREAMS_INVALID_TOPOLOGY_EPOCH
Definition rdkafka.h:699
@ RD_KAFKA_RESP_ERR__PREV_IN_PROGRESS
Definition rdkafka.h:336
@ RD_KAFKA_RESP_ERR_ILLEGAL_GENERATION
Definition rdkafka.h:481
@ RD_KAFKA_RESP_ERR__BAD_MSG
Definition rdkafka.h:289
@ RD_KAFKA_RESP_ERR__BAD_COMPRESSION
Definition rdkafka.h:291
@ RD_KAFKA_RESP_ERR__QUEUE_FULL
Definition rdkafka.h:322
@ RD_KAFKA_RESP_ERR__WAIT_CACHE
Definition rdkafka.h:362
@ RD_KAFKA_RESP_ERR__RESOLVE
Definition rdkafka.h:301
@ RD_KAFKA_RESP_ERR_PRODUCER_FENCED
Definition rdkafka.h:626
@ RD_KAFKA_RESP_ERR__AUTHENTICATION
Definition rdkafka.h:352
@ RD_KAFKA_RESP_ERR__NOT_IMPLEMENTED
Definition rdkafka.h:350
@ RD_KAFKA_RESP_ERR_INVALID_RECORD
Definition rdkafka.h:619
@ RD_KAFKA_RESP_ERR__UNKNOWN_PROTOCOL
Definition rdkafka.h:348
@ RD_KAFKA_RESP_ERR__PARTIAL
Definition rdkafka.h:374
@ RD_KAFKA_RESP_ERR_STALE_CTRL_EPOCH
Definition rdkafka.h:450
@ RD_KAFKA_RESP_ERR_CLUSTER_AUTHORIZATION_FAILED
Definition rdkafka.h:499
@ RD_KAFKA_RESP_ERR_DELEGATION_TOKEN_AUTHORIZATION_FAILED
Definition rdkafka.h:573
@ RD_KAFKA_RESP_ERR_NOT_ENOUGH_REPLICAS
Definition rdkafka.h:475
@ RD_KAFKA_RESP_ERR_GROUP_MAX_SIZE_REACHED
Definition rdkafka.h:605
@ RD_KAFKA_RESP_ERR_INVALID_TXN_STATE
Definition rdkafka.h:533
@ RD_KAFKA_RESP_ERR__DESTROY
Definition rdkafka.h:293
@ RD_KAFKA_RESP_ERR__INCONSISTENT
Definition rdkafka.h:392
@ RD_KAFKA_RESP_ERR__KEY_SERIALIZATION
Definition rdkafka.h:366
@ RD_KAFKA_RESP_ERR_UNKNOWN_MEMBER_ID
Definition rdkafka.h:487
@ RD_KAFKA_RESP_ERR_MEMBER_ID_REQUIRED
Definition rdkafka.h:601
@ RD_KAFKA_RESP_ERR_CONCURRENT_TRANSACTIONS
Definition rdkafka.h:542
@ RD_KAFKA_RESP_ERR_INVALID_REGISTRATION
Definition rdkafka.h:670
@ RD_KAFKA_RESP_ERR_UNRELEASED_INSTANCE_ID
Definition rdkafka.h:650
@ RD_KAFKA_RESP_ERR__TRANSPORT
Definition rdkafka.h:297
@ RD_KAFKA_RESP_ERR_INVALID_TIMESTAMP
Definition rdkafka.h:501
@ RD_KAFKA_RESP_ERR_INVALID_SHARE_SESSION_EPOCH
Definition rdkafka.h:681
@ RD_KAFKA_RESP_ERR_INVALID_REQUEST
Definition rdkafka.h:521
@ RD_KAFKA_RESP_ERR_OFFSET_OUT_OF_RANGE
Definition rdkafka.h:428
@ RD_KAFKA_RESP_ERR__LOG_TRUNCATION
Definition rdkafka.h:412
@ RD_KAFKA_RESP_ERR_FENCED_INSTANCE_ID
Definition rdkafka.h:608
@ RD_KAFKA_RESP_ERR_INCONSISTENT_TOPIC_ID
Definition rdkafka.h:645
@ RD_KAFKA_RESP_ERR_DELEGATION_TOKEN_REQUEST_NOT_ALLOWED
Definition rdkafka.h:571
@ RD_KAFKA_RESP_ERR_TRANSACTION_ABORTABLE
Definition rdkafka.h:674
@ RD_KAFKA_RESP_ERR_DUPLICATE_VOTER
Definition rdkafka.h:688
@ RD_KAFKA_RESP_ERR_UNSUPPORTED_SASL_MECHANISM
Definition rdkafka.h:503
@ RD_KAFKA_RESP_ERR__CONFLICT
Definition rdkafka.h:344
@ RD_KAFKA_RESP_ERR_REASSIGNMENT_IN_PROGRESS
Definition rdkafka.h:563
@ RD_KAFKA_RESP_ERR_STREAMS_TOPOLOGY_FENCED
Definition rdkafka.h:701
@ RD_KAFKA_RESP_ERR_INVALID_COMMIT_OFFSET_SIZE
Definition rdkafka.h:493
@ RD_KAFKA_RESP_ERR__NOOP
Definition rdkafka.h:408
@ RD_KAFKA_RESP_ERR_THROTTLING_QUOTA_EXCEEDED
Definition rdkafka.h:623
@ RD_KAFKA_RESP_ERR__TIMED_OUT_QUEUE
Definition rdkafka.h:358
@ RD_KAFKA_RESP_ERR_DUPLICATE_SEQUENCE_NUMBER
Definition rdkafka.h:529
@ RD_KAFKA_RESP_ERR_ELECTION_NOT_NEEDED
Definition rdkafka.h:612
@ RD_KAFKA_RESP_ERR_TOPIC_AUTHORIZATION_FAILED
Definition rdkafka.h:495
@ RD_KAFKA_RESP_ERR_TRANSACTIONAL_ID_AUTHORIZATION_FAILED
Definition rdkafka.h:548
@ RD_KAFKA_RESP_ERR_GROUP_SUBSCRIBED_TO_TOPIC
Definition rdkafka.h:617
@ RD_KAFKA_RESP_ERR__ASSIGNMENT_LOST
Definition rdkafka.h:406
@ RD_KAFKA_RESP_ERR__MSG_TIMED_OUT
Definition rdkafka.h:303
@ RD_KAFKA_RESP_ERR_INVALID_SESSION_TIMEOUT
Definition rdkafka.h:489
@ RD_KAFKA_RESP_ERR__UNKNOWN_TOPIC
Definition rdkafka.h:314
@ RD_KAFKA_RESP_ERR_STREAMS_INVALID_TOPOLOGY
Definition rdkafka.h:697
@ RD_KAFKA_RESP_ERR_PRINCIPAL_DESERIALIZATION_FAILURE
Definition rdkafka.h:641
@ RD_KAFKA_RESP_ERR_OFFSET_METADATA_TOO_LARGE
Definition rdkafka.h:452
@ RD_KAFKA_RESP_ERR_FENCED_MEMBER_EPOCH
Definition rdkafka.h:647
@ RD_KAFKA_RESP_ERR__NODE_UPDATE
Definition rdkafka.h:326
@ RD_KAFKA_RESP_ERR_NO_REASSIGNMENT_IN_PROGRESS
Definition rdkafka.h:614
@ RD_KAFKA_RESP_ERR__CRIT_SYS_RESOURCE
Definition rdkafka.h:299
@ RD_KAFKA_RESP_ERR_INVALID_FETCH_SESSION_EPOCH
Definition rdkafka.h:585
@ RD_KAFKA_RESP_ERR__VALUE_DESERIALIZATION
Definition rdkafka.h:372
@ RD_KAFKA_RESP_ERR__NO_OFFSET
Definition rdkafka.h:354
@ RD_KAFKA_RESP_ERR_INVALID_MSG
Definition rdkafka.h:430
@ RD_KAFKA_RESP_ERR_LOG_DIR_NOT_FOUND
Definition rdkafka.h:557
@ RD_KAFKA_RESP_ERR__ALL_BROKERS_DOWN
Definition rdkafka.h:316
@ RD_KAFKA_RESP_ERR__DESTROY_BROKER
Definition rdkafka.h:417
@ RD_KAFKA_RESP_ERR_INVALID_REPLICA_ASSIGNMENT
Definition rdkafka.h:515
@ RD_KAFKA_RESP_ERR__FENCED
Definition rdkafka.h:402
@ RD_KAFKA_RESP_ERR_INVALID_PARTITIONS
Definition rdkafka.h:511
@ RD_KAFKA_RESP_ERR_FENCED_STATE_EPOCH
Definition rdkafka.h:684
@ RD_KAFKA_RESP_ERR__NOT_CONFIGURED
Definition rdkafka.h:400
@ RD_KAFKA_RESP_ERR__UNSUPPORTED_FEATURE
Definition rdkafka.h:360
@ RD_KAFKA_RESP_ERR_NO_ERROR
Definition rdkafka.h:426
@ RD_KAFKA_RESP_ERR__END
Definition rdkafka.h:420
@ RD_KAFKA_RESP_ERR__INTR
Definition rdkafka.h:364
@ RD_KAFKA_RESP_ERR_ILLEGAL_SASL_STATE
Definition rdkafka.h:505
@ RD_KAFKA_RESP_ERR_INVALID_REGULAR_EXPRESSION
Definition rdkafka.h:692
@ RD_KAFKA_RESP_ERR_GROUP_AUTHORIZATION_FAILED
Definition rdkafka.h:497
@ RD_KAFKA_RESP_ERR_UNSUPPORTED_COMPRESSION_TYPE
Definition rdkafka.h:595
@ RD_KAFKA_RESP_ERR_OUT_OF_ORDER_SEQUENCE_NUMBER
Definition rdkafka.h:527
@ RD_KAFKA_RESP_ERR__KEY_DESERIALIZATION
Definition rdkafka.h:370
@ RD_KAFKA_RESP_ERR_VOTER_NOT_FOUND
Definition rdkafka.h:690
@ RD_KAFKA_RESP_ERR__SSL
Definition rdkafka.h:328
@ RD_KAFKA_RESP_ERR_REBALANCE_IN_PROGRESS
Definition rdkafka.h:491
@ RD_KAFKA_RESP_ERR_UNKNOWN
Definition rdkafka.h:424
@ RD_KAFKA_RESP_ERR_FENCED_LEADER_EPOCH
Definition rdkafka.h:591
@ RD_KAFKA_RESP_ERR__WAIT_COORD
Definition rdkafka.h:330
@ RD_KAFKA_RESP_ERR__PARTITION_EOF
Definition rdkafka.h:308
@ RD_KAFKA_RESP_ERR_TOPIC_EXCEPTION
Definition rdkafka.h:471
RD_EXPORT void rd_kafka_TopicCollection_destroy(rd_kafka_TopicCollection_t *topics)
Destroy and free a TopicCollection object created with rd_kafka_TopicCollection_new_* methods.
RD_EXPORT int32_t * rd_kafka_brokers_learned_ids(rd_kafka_t *rk, size_t *cntp)
Retrieve and return the learned broker ids.
RD_EXPORT void rd_kafka_conf_set_throttle_cb(rd_kafka_conf_t *conf, void(*throttle_cb)(rd_kafka_t *rk, const char *broker_name, int32_t broker_id, int throttle_time_ms, void *opaque))
Set throttle callback.
RD_EXPORT void rd_kafka_NewTopic_destroy(rd_kafka_NewTopic_t *new_topic)
Destroy and free a NewTopic object previously created with rd_kafka_NewTopic_new()
RD_EXPORT void rd_kafka_conf_set_socket_cb(rd_kafka_conf_t *conf, int(*socket_cb)(int domain, int type, int protocol, void *opaque))
Set socket callback.
RD_EXPORT void rd_kafka_get_err_descs(const struct rd_kafka_err_desc **errdescs, size_t *cntp)
Returns the full list of error codes.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_offsets_store(rd_kafka_t *rk, rd_kafka_topic_partition_list_t *offsets)
Store offsets for next auto-commit for one or more partitions.
RD_EXPORT void rd_kafka_Uuid_destroy(rd_kafka_Uuid_t *uuid)
Destroy the provided uuid.
RD_EXPORT rd_kafka_consumer_group_state_t rd_kafka_ConsumerGroupListing_state(const rd_kafka_ConsumerGroupListing_t *grplist)
Gets state for the grplist group.
RD_EXPORT rd_kafka_queue_t * rd_kafka_queue_new(rd_kafka_t *rk)
Create a new message queue.
RD_EXPORT void rd_kafka_DeleteRecords_destroy_array(rd_kafka_DeleteRecords_t **del_records, size_t del_record_cnt)
Helper function to destroy all DeleteRecords objects in the del_groups array (of del_group_cnt elemen...
RD_EXPORT rd_kafka_resp_err_t rd_kafka_assign(rd_kafka_t *rk, const rd_kafka_topic_partition_list_t *partitions)
Atomic assignment of partitions to consume.
struct rd_kafka_NewTopic_s rd_kafka_NewTopic_t
Definition rdkafka.h:8532
struct rd_kafka_NewPartitions_s rd_kafka_NewPartitions_t
Definition rdkafka.h:8750
RD_EXPORT void rd_kafka_conf_set_log_cb(rd_kafka_conf_t *conf, void(*log_cb)(const rd_kafka_t *rk, int level, const char *fac, const char *buf))
Set logger callback.
RD_EXPORT rd_kafka_conf_t * rd_kafka_conf_dup(const rd_kafka_conf_t *conf)
Creates a copy/duplicate of configuration object conf.
RD_EXPORT const char * rd_kafka_AclPermissionType_name(rd_kafka_AclPermissionType_t acl_permission_type)
struct rd_kafka_ListOffsetsResultInfo_s rd_kafka_ListOffsetsResultInfo_t
Information returned from a ListOffsets call for a specific rd_kafka_topic_partition_t.
Definition rdkafka.h:10543
RD_EXPORT void rd_kafka_conf_set_dr_cb(rd_kafka_conf_t *conf, void(*dr_cb)(rd_kafka_t *rk, void *payload, size_t len, rd_kafka_resp_err_t err, void *opaque, void *msg_opaque))
RD_EXPORT void rd_kafka_conf_set_engine_callback_data(rd_kafka_conf_t *conf, void *callback_data)
Set callback_data for OpenSSL engine.
RD_EXPORT void rd_kafka_conf_set_opaque(rd_kafka_conf_t *conf, void *opaque)
Sets the application's opaque pointer that will be passed to callbacks.
struct rd_kafka_DeleteRecords_s rd_kafka_DeleteRecords_t
Definition rdkafka.h:9346
RD_EXPORT int rd_kafka_thread_cnt(void)
Retrieve the current number of threads in use by librdkafka.
RD_EXPORT const rd_kafka_acl_result_t ** rd_kafka_CreateAcls_result_acls(const rd_kafka_CreateAcls_result_t *result, size_t *cntp)
Get an array of acl results from a CreateAcls result.
struct rd_kafka_TopicPartitionInfo_s rd_kafka_TopicPartitionInfo_t
TopicPartition represents a partition in the DescribeTopics result.
Definition rdkafka.h:9445
struct rd_kafka_ElectLeaders_s rd_kafka_ElectLeaders_t
Represents elect leaders request.
Definition rdkafka.h:11169
RD_EXPORT int32_t rd_kafka_ScramCredentialInfo_iterations(const rd_kafka_ScramCredentialInfo_t *scram_credential_info)
Returns the iterations of a given ScramCredentialInfo.
struct rd_kafka_TopicDescription_s rd_kafka_TopicDescription_t
DescribeTopics result type.
Definition rdkafka.h:9451
RD_EXPORT void rd_kafka_metadata_destroy(const struct rd_kafka_metadata *metadata)
Release metadata memory.
rd_kafka_resp_err_t() rd_kafka_interceptor_f_on_request_sent_t(rd_kafka_t *rk, int sockfd, const char *brokername, int32_t brokerid, int16_t ApiKey, int16_t ApiVersion, int32_t CorrId, size_t size, void *ic_opaque)
on_request_sent() is called when a request has been fully written to a broker TCP connections socket.
Definition rdkafka.h:7660
RD_EXPORT void rd_kafka_topic_partition_list_destroy(rd_kafka_topic_partition_list_t *rkparlist)
Free all resources used by the list and the list itself.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_interceptor_add_on_commit(rd_kafka_t *rk, const char *ic_name, rd_kafka_interceptor_f_on_commit_t *on_commit, void *ic_opaque)
Append an on_commit() interceptor.
RD_EXPORT const char * rd_kafka_ConfigResource_name(const rd_kafka_ConfigResource_t *config)
rd_kafka_event_t rd_kafka_DeleteRecords_result_t
Definition rdkafka.h:6981
RD_EXPORT const rd_kafka_UserScramCredentialsDescription_t ** rd_kafka_DescribeUserScramCredentials_result_descriptions(const rd_kafka_DescribeUserScramCredentials_result_t *result, size_t *cntp)
Get an array of descriptions from a DescribeUserScramCredentials result.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_interceptor_add_on_consume(rd_kafka_t *rk, const char *ic_name, rd_kafka_interceptor_f_on_consume_t *on_consume, void *ic_opaque)
Append an on_consume() interceptor.
RD_EXPORT rd_kafka_error_t * rd_kafka_begin_transaction(rd_kafka_t *rk)
Begin a new transaction.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_subscribe(rd_kafka_t *rk, const rd_kafka_topic_partition_list_t *topics)
Subscribe to topic set using balanced consumer groups.
struct rd_kafka_DeleteAcls_result_response_s rd_kafka_DeleteAcls_result_response_t
Definition rdkafka.h:11101
RD_EXPORT const rd_kafka_DeleteRecords_result_t * rd_kafka_event_DeleteRecords_result(rd_kafka_event_t *rkev)
RD_EXPORT rd_kafka_error_t * rd_kafka_AdminOptions_set_require_stable_offsets(rd_kafka_AdminOptions_t *options, int true_or_false)
Whether broker should return stable offsets (transaction-committed).
RD_EXPORT rd_kafka_resp_err_t rd_kafka_topic_partition_list_set_offset(rd_kafka_topic_partition_list_t *rktparlist, const char *topic, int32_t partition, int64_t offset)
Set offset to offset for topic and partition.
RD_EXPORT const rd_kafka_ConsumerGroupListing_t ** rd_kafka_ListConsumerGroups_result_valid(const rd_kafka_ListConsumerGroups_result_t *result, size_t *cntp)
Get an array of valid list groups from a ListConsumerGroups result.
RD_EXPORT rd_kafka_event_type_t rd_kafka_event_type(const rd_kafka_event_t *rkev)
RD_EXPORT rd_kafka_resp_err_t rd_kafka_assignment(rd_kafka_t *rk, rd_kafka_topic_partition_list_t **partitions)
Returns the current partition assignment as set by rd_kafka_assign() or rd_kafka_incremental_assign()...
RD_EXPORT void rd_kafka_conf_set_rebalance_cb(rd_kafka_conf_t *conf, void(*rebalance_cb)(rd_kafka_t *rk, rd_kafka_resp_err_t err, rd_kafka_topic_partition_list_t *partitions, void *opaque))
Consumer: Set rebalance callback for use with coordinated consumer group balancing.
RD_EXPORT void rd_kafka_yield(rd_kafka_t *rk)
Cancels the current callback dispatcher (rd_kafka_poll(), rd_kafka_consume_callback(),...
RD_EXPORT rd_kafka_topic_conf_t * rd_kafka_conf_get_default_topic_conf(rd_kafka_conf_t *conf)
Gets the default topic configuration as previously set with rd_kafka_conf_set_default_topic_conf() or...
RD_EXPORT rd_kafka_resp_err_t rd_kafka_interceptor_add_on_destroy(rd_kafka_t *rk, const char *ic_name, rd_kafka_interceptor_f_on_destroy_t *on_destroy, void *ic_opaque)
Append an on_destroy() interceptor.
RD_EXPORT void rd_kafka_conf_set_resolve_cb(rd_kafka_conf_t *conf, int(*resolve_cb)(const char *node, const char *service, const struct addrinfo *hints, struct addrinfo **res, void *opaque))
Set address resolution callback.
RD_EXPORT void rd_kafka_conf_set_default_topic_conf(rd_kafka_conf_t *conf, rd_kafka_topic_conf_t *tconf)
Sets the default topic configuration to use for automatically subscribed topics (e....
RD_EXPORT const rd_kafka_AclOperation_t * rd_kafka_ConsumerGroupDescription_authorized_operations(const rd_kafka_ConsumerGroupDescription_t *grpdesc, size_t *cntp)
Gets the authorized ACL operations for the grpdesc group.
RD_EXPORT int rd_kafka_queue_poll_callback(rd_kafka_queue_t *rkqu, int timeout_ms)
Poll a queue for events served through callbacks for max timeout_ms.
RD_EXPORT rd_kafka_ElectLeaders_t * rd_kafka_ElectLeaders_new(rd_kafka_ElectionType_t election_type, rd_kafka_topic_partition_list_t *partitions)
Create a new rd_kafka_ElectLeaders_t object. This object is later passed to rd_kafka_ElectLeaders().
rd_kafka_resp_err_t() rd_kafka_interceptor_f_on_conf_dup_t(rd_kafka_conf_t *new_conf, const rd_kafka_conf_t *old_conf, size_t filter_cnt, const char **filter, void *ic_opaque)
on_conf_dup() is called from rd_kafka_conf_dup() in the order the interceptors were added and is used...
Definition rdkafka.h:7482
RD_EXPORT rd_kafka_resp_err_t rd_kafka_oauthbearer_set_token(rd_kafka_t *rk, const char *token_value, int64_t md_lifetime_ms, const char *md_principal_name, const char **extensions, size_t extension_size, char *errstr, size_t errstr_size)
Set SASL/OAUTHBEARER token and metadata.
RD_EXPORT const char * rd_kafka_ConsumerGroupDescription_group_id(const rd_kafka_ConsumerGroupDescription_t *grpdesc)
Gets the group id for the grpdesc group.
RD_EXPORT rd_kafka_ListConsumerGroupOffsets_t * rd_kafka_ListConsumerGroupOffsets_new(const char *group_id, const rd_kafka_topic_partition_list_t *partitions)
Create a new ListConsumerGroupOffsets object. This object is later passed to rd_kafka_ListConsumerGro...
RD_EXPORT rd_kafka_AclBindingFilter_t * rd_kafka_AclBindingFilter_new(rd_kafka_ResourceType_t restype, const char *name, rd_kafka_ResourcePatternType_t resource_pattern_type, const char *principal, const char *host, rd_kafka_AclOperation_t operation, rd_kafka_AclPermissionType_t permission_type, char *errstr, size_t errstr_size)
Create a new AclBindingFilter object. This object is later passed to rd_kafka_DescribeAcls() or rd_ka...
RD_EXPORT const char * rd_kafka_MemberDescription_client_id(const rd_kafka_MemberDescription_t *member)
Gets client id of member.
rd_kafka_IsolationLevel_t
IsolationLevel enum name for use with rd_kafka_AdminOptions_new()
Definition rdkafka.h:8254
RD_EXPORT size_t rd_kafka_event_message_array(rd_kafka_event_t *rkev, const rd_kafka_message_t **rkmessages, size_t size)
Extacts size message(s) from the event into the pre-allocated array rkmessages.
RD_EXPORT int rd_kafka_ConfigEntry_is_synonym(const rd_kafka_ConfigEntry_t *entry)
RD_EXPORT void rd_kafka_conf_set_offset_commit_cb(rd_kafka_conf_t *conf, void(*offset_commit_cb)(rd_kafka_t *rk, rd_kafka_resp_err_t err, rd_kafka_topic_partition_list_t *offsets, void *opaque))
Consumer: Set offset commit callback for use with consumer groups.
RD_EXPORT void rd_kafka_CreatePartitions(rd_kafka_t *rk, rd_kafka_NewPartitions_t **new_parts, size_t new_parts_cnt, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
Create additional partitions for the given topics, as specified by the new_parts array of size new_pa...
RD_EXPORT const char * rd_kafka_AlterUserScramCredentials_result_response_user(const rd_kafka_AlterUserScramCredentials_result_response_t *response)
Returns the username for a rd_kafka_AlterUserScramCredentials_result_response.
RD_EXPORT rd_kafka_topic_partition_t * rd_kafka_topic_partition_list_find(const rd_kafka_topic_partition_list_t *rktparlist, const char *topic, int32_t partition)
Find element by topic and partition.
rd_kafka_resp_err_t() rd_kafka_interceptor_f_on_new_t(rd_kafka_t *rk, const rd_kafka_conf_t *conf, void *ic_opaque, char *errstr, size_t errstr_size)
on_new() is called from rd_kafka_new() prior toreturning the newly created client instance to the app...
Definition rdkafka.h:7517
RD_EXPORT const char * rd_kafka_consumer_group_metadata_member_id(const rd_kafka_consumer_group_metadata_t *group_metadata)
Get member id of a group metadata.
RD_EXPORT rd_kafka_topic_t * rd_kafka_topic_new(rd_kafka_t *rk, const char *topic, rd_kafka_topic_conf_t *conf)
Creates a new topic handle for topic named topic.
RD_EXPORT int rd_kafka_event_error_is_fatal(rd_kafka_event_t *rkev)
RD_EXPORT const rd_kafka_topic_partition_list_t * rd_kafka_DeleteRecords_result_offsets(const rd_kafka_DeleteRecords_result_t *result)
Get a list of topic and partition results from a DeleteRecords result. The returned objects will cont...
RD_EXPORT void rd_kafka_AlterConsumerGroupOffsets_destroy_array(rd_kafka_AlterConsumerGroupOffsets_t **alter_grpoffsets, size_t alter_grpoffset_cnt)
Helper function to destroy all AlterConsumerGroupOffsets objects in the alter_grpoffsets array (of al...
rd_kafka_event_t rd_kafka_CreatePartitions_result_t
Definition rdkafka.h:6973
RD_EXPORT void rd_kafka_topic_conf_set_opaque(rd_kafka_topic_conf_t *conf, void *rkt_opaque)
Sets the application's opaque pointer that will be passed to all topic callbacks as the rkt_opaque ar...
RD_EXPORT const rd_kafka_ConfigResource_t ** rd_kafka_IncrementalAlterConfigs_result_resources(const rd_kafka_IncrementalAlterConfigs_result_t *result, size_t *cntp)
Get an array of resource results from a IncrementalAlterConfigs result.
struct rd_kafka_AlterUserScramCredentials_result_response_s rd_kafka_AlterUserScramCredentials_result_response_t
Result of a single user SCRAM alteration.
Definition rdkafka.h:10783
RD_EXPORT const char * rd_kafka_ConfigEntry_name(const rd_kafka_ConfigEntry_t *entry)
RD_EXPORT const rd_kafka_topic_partition_t * rd_kafka_share_partition_offsets_partition(const rd_kafka_share_partition_offsets_t *partition_offsets)
Get the topic partition from a partition offsets entry.
RD_EXPORT void rd_kafka_ListOffsets(rd_kafka_t *rk, rd_kafka_topic_partition_list_t *topic_partitions, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
List offsets for the specified topic_partitions. This operation enables to find the beginning offset,...
RD_EXPORT const char * rd_kafka_rebalance_protocol(rd_kafka_t *rk)
The rebalance protocol currently in use. This will be "NONE" if the consumer has not (yet) joined a g...
RD_EXPORT void rd_kafka_dump(FILE *fp, rd_kafka_t *rk)
Dumps rdkafka's internal state for handle rk to stream fp.
RD_EXPORT const rd_kafka_topic_partition_list_t * rd_kafka_group_result_partitions(const rd_kafka_group_result_t *groupres)
RD_EXPORT rd_kafka_resp_err_t rd_kafka_pause_partitions(rd_kafka_t *rk, rd_kafka_topic_partition_list_t *partitions)
Pause producing or consumption for the provided list of partitions.
RD_EXPORT const char * rd_kafka_TopicDescription_name(const rd_kafka_TopicDescription_t *topicdesc)
Gets the topic name for the topicdesc topic.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_NewTopic_set_config(rd_kafka_NewTopic_t *new_topic, const char *name, const char *value)
Set (broker-side) topic configuration name/value pair.
RD_EXPORT void * rd_kafka_event_opaque(rd_kafka_event_t *rkev)
RD_EXPORT const char * rd_kafka_consumer_group_state_name(rd_kafka_consumer_group_state_t state)
Returns a name for a state code.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_interceptor_add_on_broker_state_change(rd_kafka_t *rk, const char *ic_name, rd_kafka_interceptor_f_on_broker_state_change_t *on_broker_state_change, void *ic_opaque)
Append an on_broker_state_change() interceptor.
RD_EXPORT const char ** rd_kafka_topic_conf_dump(rd_kafka_topic_conf_t *conf, size_t *cntp)
Dump the topic configuration properties and values of conf to an array with "key",...
rd_kafka_event_t rd_kafka_DescribeConsumerGroups_result_t
Definition rdkafka.h:6985
struct rd_kafka_share_partition_offsets_s rd_kafka_share_partition_offsets_t
Share consumer partition offsets for a single offset range.
Definition rdkafka.h:5494
RD_EXPORT const rd_kafka_DescribeTopics_result_t * rd_kafka_event_DescribeTopics_result(rd_kafka_event_t *rkev)
Get DescribeTopics result.
RD_EXPORT rd_kafka_error_t * rd_kafka_AdminOptions_set_include_authorized_operations(rd_kafka_AdminOptions_t *options, int true_or_false)
Whether broker should return authorized operations for the given resource in the DescribeConsumerGrou...
RD_EXPORT rd_kafka_resp_err_t rd_kafka_test_fatal_error(rd_kafka_t *rk, rd_kafka_resp_err_t err, const char *reason)
Trigger a fatal error for testing purposes.
RD_EXPORT rd_kafka_queue_t * rd_kafka_queue_get_sasl(rd_kafka_t *rk)
RD_EXPORT void rd_kafka_AclBinding_destroy(rd_kafka_AclBinding_t *acl_binding)
Destroy and free an AclBinding object previously created with rd_kafka_AclBinding_new()
RD_EXPORT void * rd_kafka_mem_calloc(rd_kafka_t *rk, size_t num, size_t size)
Allocate and zero memory using the same allocator librdkafka uses.
struct rd_kafka_UserScramCredentialsDescription_s rd_kafka_UserScramCredentialsDescription_t
Representation of all SASL/SCRAM credentials associated with a user that can be retrieved,...
Definition rdkafka.h:10645
RD_EXPORT const rd_kafka_Uuid_t * rd_kafka_TopicDescription_topic_id(const rd_kafka_TopicDescription_t *topicdesc)
Gets the topic id for the topicdesc topic.
RD_EXPORT void rd_kafka_error_destroy(rd_kafka_error_t *error)
Free and destroy an error object.
rd_kafka_event_t rd_kafka_DeleteTopics_result_t
Definition rdkafka.h:6965
RD_EXPORT const char * rd_kafka_Uuid_base64str(const rd_kafka_Uuid_t *uuid)
Computes base64 encoding for the given uuid string.
RD_EXPORT const rd_kafka_ListOffsets_result_t * rd_kafka_event_ListOffsets_result(rd_kafka_event_t *rkev)
Get ListOffsets result.
RD_EXPORT void rd_kafka_message_destroy(rd_kafka_message_t *rkmessage)
Frees resources for rkmessage and hands ownership back to rdkafka.
RD_EXPORT const rd_kafka_topic_partition_list_t * rd_kafka_MemberAssignment_partitions(const rd_kafka_MemberAssignment_t *assignment)
Gets assigned partitions of a member assignment.
RD_EXPORT rd_kafka_error_t * rd_kafka_consumer_group_metadata_write(const rd_kafka_consumer_group_metadata_t *cgmd, void **bufferp, size_t *sizep)
Serialize the consumer group metadata to a binary format. This is mainly for client binding use and n...
RD_EXPORT void rd_kafka_IncrementalAlterConfigs(rd_kafka_t *rk, rd_kafka_ConfigResource_t **configs, size_t config_cnt, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
Incrementally update the configuration for the specified resources. Updates are not transactional so ...
rd_kafka_event_t rd_kafka_ListConsumerGroupOffsets_result_t
Definition rdkafka.h:6993
RD_EXPORT rd_kafka_consumer_group_metadata_t * rd_kafka_consumer_group_metadata_new_with_genid(const char *group_id, int32_t generation_id, const char *member_id, const char *group_instance_id)
Create a new consumer group metadata object. This is typically only used for writing tests.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_conf_interceptor_add_on_conf_dup(rd_kafka_conf_t *conf, const char *ic_name, rd_kafka_interceptor_f_on_conf_dup_t *on_conf_dup, void *ic_opaque)
Append an on_conf_dup() interceptor.
RD_EXPORT const rd_kafka_ElectLeaders_result_t * rd_kafka_event_ElectLeaders_result(rd_kafka_event_t *rkev)
Get ElectLeaders result.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_consumer_close(rd_kafka_t *rk)
Close the consumer.
RD_EXPORT const rd_kafka_AlterUserScramCredentials_result_t * rd_kafka_event_AlterUserScramCredentials_result(rd_kafka_event_t *rkev)
Get AlterUserScramCredentials result.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_committed(rd_kafka_t *rk, rd_kafka_topic_partition_list_t *partitions, int timeout_ms)
Retrieve committed offsets for topics+partitions.
rd_kafka_resp_err_t() rd_kafka_interceptor_f_on_send_t(rd_kafka_t *rk, rd_kafka_message_t *rkmessage, void *ic_opaque)
on_send() is called from rd_kafka_produce*() (et.al) prior to the partitioner being called.
Definition rdkafka.h:7557
RD_EXPORT const rd_kafka_topic_result_t ** rd_kafka_CreatePartitions_result_topics(const rd_kafka_CreatePartitions_result_t *result, size_t *cntp)
Get an array of topic results from a CreatePartitions result.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_header_get_all(const rd_kafka_headers_t *hdrs, size_t idx, const char **namep, const void **valuep, size_t *sizep)
Iterator for all headers.
RD_EXPORT const rd_kafka_TopicPartitionInfo_t ** rd_kafka_TopicDescription_partitions(const rd_kafka_TopicDescription_t *topicdesc, size_t *cntp)
Gets an array of partitions for the topicdesc topic.
struct rd_kafka_TopicCollection_s rd_kafka_TopicCollection_t
Represents a collection of topics, to be passed to DescribeTopics.
Definition rdkafka.h:9439
RD_EXPORT rd_kafka_DeleteRecords_t * rd_kafka_DeleteRecords_new(const rd_kafka_topic_partition_list_t *before_offsets)
Create a new DeleteRecords object. This object is later passed to rd_kafka_DeleteRecords().
RD_EXPORT rd_kafka_resp_err_t rd_kafka_share_acknowledge_type(rd_kafka_share_t *rkshare, const rd_kafka_message_t *rkmessage, rd_kafka_share_AcknowledgeType_t type)
Acknowledge a message with specified acknowledgement type.
RD_EXPORT void rd_kafka_AlterConsumerGroupOffsets(rd_kafka_t *rk, rd_kafka_AlterConsumerGroupOffsets_t **alter_grpoffsets, size_t alter_grpoffsets_cnt, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
Alter committed offsets for a set of partitions in a consumer group. This will succeed at the partiti...
RD_EXPORT void rd_kafka_DescribeConsumerGroups(rd_kafka_t *rk, const char **groups, size_t groups_cnt, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
Describe groups from cluster as specified by the groups array of size groups_cnt elements.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_unsubscribe(rd_kafka_t *rk)
Unsubscribe from the current subscription set.
RD_EXPORT void rd_kafka_log_print(const rd_kafka_t *rk, int level, const char *fac, const char *buf)
Builtin (default) log sink: print to stderr.
RD_EXPORT ssize_t rd_kafka_consume_batch_queue(rd_kafka_queue_t *rkqu, int timeout_ms, rd_kafka_message_t **rkmessages, size_t rkmessages_size)
Consume batch of messages from queue.
rd_kafka_OffsetSpec_t
Allows to specify the desired offsets when using ListOffsets.
Definition rdkafka.h:10525
RD_EXPORT rd_kafka_queue_t * rd_kafka_share_queue_get_sasl(rd_kafka_share_t *rkshare)
Get the SASL callback queue for a share consumer.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_share_acknowledge(rd_kafka_share_t *rkshare, const rd_kafka_message_t *rkmessage)
Acknowledge a message with ACCEPT type.
RD_EXPORT rd_kafka_topic_conf_t * rd_kafka_topic_conf_dup(const rd_kafka_topic_conf_t *conf)
Creates a copy/duplicate of topic configuration object conf.
RD_EXPORT const rd_kafka_MemberDescription_t * rd_kafka_ConsumerGroupDescription_member(const rd_kafka_ConsumerGroupDescription_t *grpdesc, size_t idx)
Gets a member of grpdesc group.
RD_EXPORT rd_kafka_topic_partition_list_t * rd_kafka_topic_partition_list_copy(const rd_kafka_topic_partition_list_t *src)
Make a copy of an existing list.
RD_EXPORT void rd_kafka_queue_cb_event_enable(rd_kafka_queue_t *rkqu, void(*event_cb)(rd_kafka_t *rk, void *qev_opaque), void *qev_opaque)
Enable callback event triggering for queue.
RD_EXPORT const rd_kafka_ConfigResource_t ** rd_kafka_DescribeConfigs_result_resources(const rd_kafka_DescribeConfigs_result_t *result, size_t *cntp)
Get an array of resource results from a DescribeConfigs result.
RD_EXPORT const rd_kafka_DeleteConsumerGroupOffsets_result_t * rd_kafka_event_DeleteConsumerGroupOffsets_result(rd_kafka_event_t *rkev)
Get DeleteConsumerGroupOffsets result.
RD_EXPORT const rd_kafka_CreateTopics_result_t * rd_kafka_event_CreateTopics_result(rd_kafka_event_t *rkev)
Get CreateTopics result.
RD_EXPORT rd_kafka_queue_t * rd_kafka_queue_get_partition(rd_kafka_t *rk, const char *topic, int32_t partition)
RD_EXPORT int64_t rd_kafka_message_timestamp(const rd_kafka_message_t *rkmessage, rd_kafka_timestamp_type_t *tstype)
Returns the message timestamp for a consumed message.
RD_EXPORT int64_t rd_kafka_Uuid_most_significant_bits(const rd_kafka_Uuid_t *uuid)
Gets most significant 64 bits for the given UUID.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_interceptor_add_on_request_sent(rd_kafka_t *rk, const char *ic_name, rd_kafka_interceptor_f_on_request_sent_t *on_request_sent, void *ic_opaque)
Append an on_request_sent() interceptor.
RD_EXPORT const rd_kafka_CreateAcls_result_t * rd_kafka_event_CreateAcls_result(rd_kafka_event_t *rkev)
RD_EXPORT rd_kafka_error_t * rd_kafka_seek_partitions(rd_kafka_t *rk, rd_kafka_topic_partition_list_t *partitions, int timeout_ms)
Seek consumer for partitions in partitions to the per-partition offset in the .offset field of partit...
RD_EXPORT rd_kafka_resp_err_t rd_kafka_fatal_error(rd_kafka_t *rk, char *errstr, size_t errstr_size)
Returns the first fatal error set on this client instance, or RD_KAFKA_RESP_ERR_NO_ERROR if no fatal ...
rd_kafka_event_t rd_kafka_CreateAcls_result_t
Definition rdkafka.h:6967
RD_EXPORT rd_kafka_resp_err_t rd_kafka_query_watermark_offsets(rd_kafka_t *rk, const char *topic, int32_t partition, int64_t *low, int64_t *high, int timeout_ms)
Query broker for low (oldest/beginning) and high (newest/end) offsets for partition.
rd_kafka_event_t rd_kafka_CreateTopics_result_t
Definition rdkafka.h:6963
RD_EXPORT rd_kafka_topic_partition_t * rd_kafka_topic_partition_list_add(rd_kafka_topic_partition_list_t *rktparlist, const char *topic, int32_t partition)
Add topic+partition to list.
RD_EXPORT const rd_kafka_error_t * rd_kafka_group_result_error(const rd_kafka_group_result_t *groupres)
Group result provides per-group operation result information.
RD_EXPORT int rd_kafka_consume_callback_queue(rd_kafka_queue_t *rkqu, int timeout_ms, void(*consume_cb)(rd_kafka_message_t *rkmessage, void *commit_opaque), void *commit_opaque)
Consume multiple messages from queue with callback.
RD_EXPORT void rd_kafka_conf_set_open_cb(rd_kafka_conf_t *conf, int(*open_cb)(const char *pathname, int flags, mode_t mode, void *opaque))
Set open callback.
rd_kafka_event_t rd_kafka_DeleteAcls_result_t
Definition rdkafka.h:6971
RD_EXPORT rd_kafka_error_t * rd_kafka_incremental_unassign(rd_kafka_t *rk, const rd_kafka_topic_partition_list_t *partitions)
Incrementally remove partitions from the current assignment.
RD_EXPORT const char * rd_kafka_event_error_string(rd_kafka_event_t *rkev)
RD_EXPORT rd_kafka_error_t * rd_kafka_AdminOptions_set_match_consumer_group_states(rd_kafka_AdminOptions_t *options, const rd_kafka_consumer_group_state_t *consumer_group_states, size_t consumer_group_states_cnt)
Set consumer groups states to query for.
RD_EXPORT const rd_kafka_AclBinding_t ** rd_kafka_DeleteAcls_result_response_matching_acls(const rd_kafka_DeleteAcls_result_response_t *result_response, size_t *matching_acls_cntp)
RD_EXPORT rd_kafka_t * rd_kafka_new(rd_kafka_type_t type, rd_kafka_conf_t *conf, char *errstr, size_t errstr_size)
Creates a new Kafka handle and starts its operation according to the specified type (RD_KAFKA_CONSUME...
RD_EXPORT const rd_kafka_DeleteTopics_result_t * rd_kafka_event_DeleteTopics_result(rd_kafka_event_t *rkev)
Get DeleteTopics result.
rd_kafka_event_t rd_kafka_AlterUserScramCredentials_result_t
Definition rdkafka.h:7001
RD_EXPORT const rd_kafka_error_t * rd_kafka_AlterUserScramCredentials_result_response_error(const rd_kafka_AlterUserScramCredentials_result_response_t *response)
Returns the error of a rd_kafka_AlterUserScramCredentials_result_response.
RD_EXPORT rd_kafka_queue_t * rd_kafka_queue_get_consumer(rd_kafka_t *rk)
RD_EXPORT void rd_kafka_NewTopic_destroy_array(rd_kafka_NewTopic_t **new_topics, size_t new_topic_cnt)
Helper function to destroy all NewTopic objects in the new_topics array (of new_topic_cnt elements)....
RD_EXPORT rd_kafka_message_t * rd_kafka_messages_get(const rd_kafka_messages_t *messages, size_t index)
Returns the message at zero-based index in messages.
rd_kafka_event_t rd_kafka_DescribeAcls_result_t
Definition rdkafka.h:6969
RD_EXPORT rd_kafka_error_t * rd_kafka_share_consumer_close_queue(rd_kafka_share_t *rkshare, rd_kafka_queue_t *rkqu)
Asynchronously close the share consumer.
RD_EXPORT rd_kafka_DeleteGroup_t * rd_kafka_DeleteGroup_new(const char *group)
Create a new DeleteGroup object. This object is later passed to rd_kafka_DeleteGroups().
RD_EXPORT const rd_kafka_DescribeAcls_result_t * rd_kafka_event_DescribeAcls_result(rd_kafka_event_t *rkev)
RD_EXPORT rd_kafka_UserScramCredentialAlteration_t * rd_kafka_UserScramCredentialDeletion_new(const char *username, rd_kafka_ScramMechanism_t mechanism)
Allocates a new UserScramCredentialDeletion given its fields.
RD_EXPORT const char * rd_kafka_topic_name(const rd_kafka_topic_t *rkt)
Returns the topic name.
RD_EXPORT const char * rd_kafka_get_debug_contexts(void)
Retrieve supported debug contexts for use with the "debug" configuration property....
RD_EXPORT const rd_kafka_AclOperation_t * rd_kafka_DescribeCluster_result_authorized_operations(const rd_kafka_DescribeCluster_result_t *result, size_t *cntp)
Gets the authorized ACL operations for the result cluster.
RD_EXPORT rd_kafka_ConfigResource_t * rd_kafka_ConfigResource_new(rd_kafka_ResourceType_t restype, const char *resname)
Create new ConfigResource object.
RD_EXPORT void rd_kafka_mem_free(rd_kafka_t *rk, void *ptr)
Free pointer returned by librdkafka.
rd_kafka_resp_err_t() rd_kafka_interceptor_f_on_broker_state_change_t(rd_kafka_t *rk, int32_t broker_id, const char *secproto, const char *name, int port, const char *state, void *ic_opaque)
on_broker_state_change() is called just after a broker has been created or its state has been changed...
Definition rdkafka.h:7774
RD_EXPORT const char * rd_kafka_MemberDescription_host(const rd_kafka_MemberDescription_t *member)
Gets host of member.
RD_EXPORT const char * rd_kafka_consumer_group_metadata_group_id(const rd_kafka_consumer_group_metadata_t *group_metadata)
Get group id of a group metadata.
RD_EXPORT rd_kafka_message_t * rd_kafka_consume_queue(rd_kafka_queue_t *rkqu, int timeout_ms)
Consume from queue.
rd_kafka_AclOperation_t
Apache Kafka ACL operation types. Common type for multiple Admin API functions.
Definition rdkafka.h:8499
@ RD_KAFKA_ACL_OPERATION_ALL
Definition rdkafka.h:8503
@ RD_KAFKA_ACL_OPERATION_ALTER
Definition rdkafka.h:8508
@ RD_KAFKA_ACL_OPERATION_CLUSTER_ACTION
Definition rdkafka.h:8510
@ RD_KAFKA_ACL_OPERATION_IDEMPOTENT_WRITE
Definition rdkafka.h:8516
@ RD_KAFKA_ACL_OPERATION_DELETE
Definition rdkafka.h:8507
@ RD_KAFKA_ACL_OPERATION_WRITE
Definition rdkafka.h:8505
@ RD_KAFKA_ACL_OPERATION_ANY
Definition rdkafka.h:8501
@ RD_KAFKA_ACL_OPERATION_UNKNOWN
Definition rdkafka.h:8500
@ RD_KAFKA_ACL_OPERATION_CREATE
Definition rdkafka.h:8506
@ RD_KAFKA_ACL_OPERATION_ALTER_CONFIGS
Definition rdkafka.h:8514
@ RD_KAFKA_ACL_OPERATION_DESCRIBE_CONFIGS
Definition rdkafka.h:8512
@ RD_KAFKA_ACL_OPERATION_READ
Definition rdkafka.h:8504
@ RD_KAFKA_ACL_OPERATION_DESCRIBE
Definition rdkafka.h:8509
RD_EXPORT ssize_t rd_kafka_consume_batch(rd_kafka_topic_t *rkt, int32_t partition, int timeout_ms, rd_kafka_message_t **rkmessages, size_t rkmessages_size)
Consume up to rkmessages_size from topic rkt and partition putting a pointer to each message in the a...
RD_EXPORT int rd_kafka_event_log(rd_kafka_event_t *rkev, const char **fac, const char **str, int *level)
Extract log message from the event.
RD_EXPORT int rd_kafka_assignment_lost(rd_kafka_t *rk)
Check whether the consumer considers the current assignment to have been lost involuntarily....
RD_EXPORT void rd_kafka_conf_set_connect_cb(rd_kafka_conf_t *conf, int(*connect_cb)(int sockfd, const struct sockaddr *addr, int addrlen, const char *id, void *opaque))
Set connect callback.
RD_EXPORT void rd_kafka_UserScramCredentialAlteration_destroy_array(rd_kafka_UserScramCredentialAlteration_t **alterations, size_t alteration_cnt)
Destroys an array of UserScramCredentialAlteration.
RD_EXPORT const rd_kafka_error_t * rd_kafka_acl_result_error(const rd_kafka_acl_result_t *aclres)
RD_EXPORT const rd_kafka_DescribeConfigs_result_t * rd_kafka_event_DescribeConfigs_result(rd_kafka_event_t *rkev)
Get DescribeConfigs result.
RD_EXPORT rd_kafka_conf_res_t rd_kafka_conf_set_ssl_cert(rd_kafka_conf_t *conf, rd_kafka_cert_type_t cert_type, rd_kafka_cert_enc_t cert_enc, const void *buffer, size_t size, char *errstr, size_t errstr_size)
Set certificate/key cert_type from the cert_enc encoded memory at buffer of size bytes.
RD_EXPORT const char * rd_kafka_err2name(rd_kafka_resp_err_t err)
Returns the error code name (enum name).
RD_EXPORT rd_kafka_conf_res_t rd_kafka_topic_conf_get(const rd_kafka_topic_conf_t *conf, const char *name, char *dest, size_t *dest_size)
Retrieve topic configuration value for property name.
RD_EXPORT int rd_kafka_consume_callback(rd_kafka_topic_t *rkt, int32_t partition, int timeout_ms, void(*consume_cb)(rd_kafka_message_t *rkmessage, void *commit_opaque), void *commit_opaque)
Consumes messages from topic rkt and partition, calling the provided callback for each consumed messs...
RD_EXPORT rd_kafka_error_t * rd_kafka_share_set_log_queue(rd_kafka_share_t *rkshare, rd_kafka_queue_t *rkqu)
Forward a share consumer's internal log queue onto another queue for serving with one of the ....
RD_EXPORT int32_t rd_kafka_msg_partitioner_random(const rd_kafka_topic_t *rkt, const void *key, size_t keylen, int32_t partition_cnt, void *rkt_opaque, void *msg_opaque)
Random partitioner.
RD_EXPORT void rd_kafka_conf_set_stats_cb(rd_kafka_conf_t *conf, int(*stats_cb)(rd_kafka_t *rk, char *json, size_t json_len, void *opaque))
Set statistics callback in provided conf object.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_purge(rd_kafka_t *rk, int purge_flags)
Purge messages currently handled by the producer instance.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_share_subscribe(rd_kafka_share_t *rkshare, const rd_kafka_topic_partition_list_t *topics)
Subscribe a share consumer to a set of topics.
rd_kafka_event_t rd_kafka_DescribeCluster_result_t
Definition rdkafka.h:6997
RD_EXPORT rd_kafka_resp_err_t rd_kafka_oauthbearer_set_token_failure(rd_kafka_t *rk, const char *errstr)
SASL/OAUTHBEARER token refresh failure indicator.
RD_EXPORT char * rd_kafka_clusterid(rd_kafka_t *rk, int timeout_ms)
Returns the ClusterId as reported in broker metadata.
RD_EXPORT int rd_kafka_event_debug_contexts(rd_kafka_event_t *rkev, char *dst, size_t dstsize)
Extract log debug context from event.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_set_log_queue(rd_kafka_t *rk, rd_kafka_queue_t *rkqu)
Forward librdkafka logs (and debug) to the specified queue for serving with one of the ....
RD_EXPORT const char ** rd_kafka_conf_dump(rd_kafka_conf_t *conf, size_t *cntp)
Dump the configuration properties and values of conf to an array with "key", "value" pairs.
RD_EXPORT void rd_kafka_conf_set_background_event_cb(rd_kafka_conf_t *conf, void(*event_cb)(rd_kafka_t *rk, rd_kafka_event_t *rkev, void *opaque))
Generic event callback to be used with the event API to trigger callbacks for rd_kafka_event_t object...
RD_EXPORT rd_kafka_resp_err_t rd_kafka_header_get(const rd_kafka_headers_t *hdrs, size_t idx, const char *name, const void **valuep, size_t *sizep)
Iterator for headers matching name.
RD_EXPORT rd_kafka_consumer_group_state_t rd_kafka_consumer_group_state_code(const char *name)
Returns a code for a state name.
RD_EXPORT void rd_kafka_queue_forward(rd_kafka_queue_t *src, rd_kafka_queue_t *dst)
Forward/re-route queue src to dst. If dst is NULL the forwarding is removed.
RD_EXPORT rd_kafka_AclBinding_t * rd_kafka_AclBinding_new(rd_kafka_ResourceType_t restype, const char *name, rd_kafka_ResourcePatternType_t resource_pattern_type, const char *principal, const char *host, rd_kafka_AclOperation_t operation, rd_kafka_AclPermissionType_t permission_type, char *errstr, size_t errstr_size)
Create a new AclBinding object. This object is later passed to rd_kafka_CreateAcls().
RD_EXPORT void rd_kafka_DeleteConsumerGroupOffsets_destroy_array(rd_kafka_DeleteConsumerGroupOffsets_t **del_grpoffsets, size_t del_grpoffset_cnt)
Helper function to destroy all DeleteConsumerGroupOffsets objects in the del_grpoffsets array (of del...
rd_kafka_cert_type_t
SSL certificate type.
Definition rdkafka.h:2600
@ RD_KAFKA_CERT_PUBLIC_KEY
Definition rdkafka.h:2601
@ RD_KAFKA_CERT_PRIVATE_KEY
Definition rdkafka.h:2602
@ RD_KAFKA_CERT_CA
Definition rdkafka.h:2603
RD_EXPORT rd_kafka_conf_t * rd_kafka_conf_dup_filter(const rd_kafka_conf_t *conf, size_t filter_cnt, const char **filter)
Same as rd_kafka_conf_dup() but with an array of property name prefixes to filter out (ignore) when c...
RD_EXPORT rd_kafka_error_t * rd_kafka_sasl_set_credentials(rd_kafka_t *rk, const char *username, const char *password)
Sets SASL credentials used for SASL PLAIN and SCRAM mechanisms by this Kafka client.
RD_EXPORT rd_kafka_DeleteConsumerGroupOffsets_t * rd_kafka_DeleteConsumerGroupOffsets_new(const char *group, const rd_kafka_topic_partition_list_t *partitions)
Create a new DeleteConsumerGroupOffsets object. This object is later passed to rd_kafka_DeleteConsume...
rd_kafka_event_t rd_kafka_ListOffsets_result_t
Definition rdkafka.h:7003
rd_kafka_event_t rd_kafka_DescribeTopics_result_t
Definition rdkafka.h:6995
RD_EXPORT void rd_kafka_DeleteConsumerGroupOffsets_destroy(rd_kafka_DeleteConsumerGroupOffsets_t *del_grpoffsets)
Destroy and free a DeleteConsumerGroupOffsets object previously created with rd_kafka_DeleteConsumerG...
RD_EXPORT void rd_kafka_DeleteAcls(rd_kafka_t *rk, rd_kafka_AclBindingFilter_t **del_acls, size_t del_acls_cnt, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
Delete acls matching the filteres provided in del_acls array of size del_acls_cnt.
RD_EXPORT const char * rd_kafka_ConsumerGroupDescription_partition_assignor(const rd_kafka_ConsumerGroupDescription_t *grpdesc)
Gets the partition assignor for the grpdesc group.
RD_EXPORT size_t rd_kafka_event_message_count(rd_kafka_event_t *rkev)
RD_EXPORT const rd_kafka_error_t * rd_kafka_UserScramCredentialsDescription_error(const rd_kafka_UserScramCredentialsDescription_t *description)
Returns the error associated with a UserScramCredentialsDescription.
RD_EXPORT void rd_kafka_topic_partition_list_add_range(rd_kafka_topic_partition_list_t *rktparlist, const char *topic, int32_t start, int32_t stop)
Add range of partitions from start to stop inclusive.
RD_EXPORT rd_kafka_error_t * rd_kafka_AdminOptions_set_match_consumer_group_types(rd_kafka_AdminOptions_t *options, const rd_kafka_consumer_group_type_t *consumer_group_types, size_t consumer_group_types_cnt)
Set consumer groups types to query for.
RD_EXPORT const rd_kafka_topic_partition_result_t ** rd_kafka_ElectLeaders_result_partitions(const rd_kafka_ElectLeaders_result_t *result, size_t *cntp)
Get the array of topic partition result objects from the elect leaders result event and populates the...
RD_EXPORT const char * rd_kafka_error_string(const rd_kafka_error_t *error)
RD_EXPORT const rd_kafka_CreatePartitions_result_t * rd_kafka_event_CreatePartitions_result(rd_kafka_event_t *rkev)
Get CreatePartitions result.
struct rd_kafka_ListConsumerGroupsResult_s rd_kafka_ListConsumerGroupsResult_t
Definition rdkafka.h:9748
RD_EXPORT rd_kafka_error_t * rd_kafka_ConfigResource_add_incremental_config(rd_kafka_ConfigResource_t *config, const char *name, rd_kafka_AlterConfigOpType_t op_type, const char *value)
Add the value of the configuration entry for a subsequent incremental alter config operation....
RD_EXPORT rd_kafka_headers_t * rd_kafka_headers_copy(const rd_kafka_headers_t *src)
Make a copy of headers list src.
RD_EXPORT void rd_kafka_conf_set_consume_cb(rd_kafka_conf_t *conf, void(*consume_cb)(rd_kafka_message_t *rkmessage, void *opaque))
Consumer: Set consume callback for use with rd_kafka_consumer_poll()
RD_EXPORT const rd_kafka_error_t * rd_kafka_topic_partition_result_error(const rd_kafka_topic_partition_result_t *partition_result)
RD_EXPORT const char * rd_kafka_topic_result_error_string(const rd_kafka_topic_result_t *topicres)
RD_EXPORT rd_kafka_resp_err_t rd_kafka_seek(rd_kafka_topic_t *rkt, int32_t partition, int64_t offset, int timeout_ms)
Seek consumer for topic+partition to offset which is either an absolute or logical offset.
RD_EXPORT const rd_kafka_DescribeConsumerGroups_result_t * rd_kafka_event_DescribeConsumerGroups_result(rd_kafka_event_t *rkev)
Get DescribeConsumerGroups result.
RD_EXPORT const char * rd_kafka_DescribeCluster_result_cluster_id(const rd_kafka_DescribeCluster_result_t *result)
Gets the cluster id for the result cluster.
RD_EXPORT void rd_kafka_DeleteRecords_destroy(rd_kafka_DeleteRecords_t *del_records)
Destroy and free a DeleteRecords object previously created with rd_kafka_DeleteRecords_new()
RD_EXPORT const rd_kafka_topic_result_t ** rd_kafka_DeleteTopics_result_topics(const rd_kafka_DeleteTopics_result_t *result, size_t *cntp)
Get an array of topic results from a DeleteTopics result.
RD_EXPORT const rd_kafka_AlterConfigs_result_t * rd_kafka_event_AlterConfigs_result(rd_kafka_event_t *rkev)
Get AlterConfigs result.
RD_EXPORT const rd_kafka_Node_t * rd_kafka_TopicPartitionInfo_leader(const rd_kafka_TopicPartitionInfo_t *partition)
Gets the partition leader for partition.
RD_EXPORT void rd_kafka_CreateTopics(rd_kafka_t *rk, rd_kafka_NewTopic_t **new_topics, size_t new_topic_cnt, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
Create topics in cluster as specified by the new_topics array of size new_topic_cnt elements.
RD_EXPORT rd_kafka_error_t * rd_kafka_incremental_assign(rd_kafka_t *rk, const rd_kafka_topic_partition_list_t *partitions)
Incrementally add partitions to the current assignment.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_ConfigResource_error(const rd_kafka_ConfigResource_t *config)
RD_EXPORT rd_kafka_resp_err_t rd_kafka_NewPartitions_set_replica_assignment(rd_kafka_NewPartitions_t *new_parts, int32_t new_partition_idx, int32_t *broker_ids, size_t broker_id_cnt, char *errstr, size_t errstr_size)
Set the replica (broker id) assignment for new_partition_idx to the replica set in broker_ids (of bro...
RD_EXPORT rd_kafka_resp_err_t rd_kafka_error_code(const rd_kafka_error_t *error)
RD_EXPORT const rd_kafka_DescribeUserScramCredentials_result_t * rd_kafka_event_DescribeUserScramCredentials_result(rd_kafka_event_t *rkev)
Get DescribeUserScramCredentials result.
rd_kafka_conf_res_t() rd_kafka_interceptor_f_on_conf_set_t(rd_kafka_conf_t *conf, const char *name, const char *val, char *errstr, size_t errstr_size, void *ic_opaque)
on_conf_set() is called from rd_kafka_*_conf_set() in the order the interceptors were added.
Definition rdkafka.h:7452
RD_EXPORT rd_kafka_error_t * rd_kafka_commit_transaction(rd_kafka_t *rk, int timeout_ms)
Commit the current transaction (as started with rd_kafka_begin_transaction()).
RD_EXPORT rd_kafka_error_t * rd_kafka_error_new(rd_kafka_resp_err_t code, const char *fmt,...) RD_FORMAT(printf
Create a new error object with error code and optional human readable error string in fmt.
RD_EXPORT rd_kafka_error_t * rd_kafka_AdminOptions_set_isolation_level(rd_kafka_AdminOptions_t *options, rd_kafka_IsolationLevel_t value)
Set Isolation Level to an allowed rd_kafka_IsolationLevel_t value.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_header_get_last(const rd_kafka_headers_t *hdrs, const char *name, const void **valuep, size_t *sizep)
Find last header in list hdrs matching name.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_list_groups(rd_kafka_t *rk, const char *group, const struct rd_kafka_group_list **grplistp, int timeout_ms)
List and describe client groups in cluster.
rd_kafka_resp_err_t() rd_kafka_plugin_f_conf_init_t(rd_kafka_conf_t *conf, void **plug_opaquep, char *errstr, size_t errstr_size)
Plugin's configuration initializer method called each time the library is referenced from configurati...
Definition rdkafka.h:7366
RD_EXPORT rd_kafka_error_t * rd_kafka_share_sasl_set_credentials(rd_kafka_share_t *rkshare, const char *username, const char *password)
Sets SASL credentials used for SASL PLAIN and SCRAM mechanisms by this share consumer.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_position(rd_kafka_t *rk, rd_kafka_topic_partition_list_t *partitions)
Retrieve current positions (offsets) for topics+partitions.
RD_EXPORT void rd_kafka_messages_destroy(rd_kafka_messages_t *messages)
Destroys messages and all messages it contains.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_AdminOptions_set_operation_timeout(rd_kafka_AdminOptions_t *options, int timeout_ms, char *errstr, size_t errstr_size)
Sets the broker's operation timeout, such as the timeout for CreateTopics to complete the creation of...
RD_EXPORT void rd_kafka_DescribeTopics(rd_kafka_t *rk, const rd_kafka_TopicCollection_t *topics, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
Describe topics as specified by the topics array of size topics_cnt elements.
RD_EXPORT const rd_kafka_Node_t * rd_kafka_ConsumerGroupDescription_coordinator(const rd_kafka_ConsumerGroupDescription_t *grpdesc)
Gets the coordinator for the grpdesc group.
RD_EXPORT const char * rd_kafka_AclBinding_principal(const rd_kafka_AclBinding_t *acl)
RD_EXPORT rd_kafka_TopicCollection_t * rd_kafka_TopicCollection_of_topic_names(const char **topics, size_t topics_cnt)
Creates a new TopicCollection for passing to rd_kafka_DescribeTopics.
RD_EXPORT void rd_kafka_DeleteGroup_destroy(rd_kafka_DeleteGroup_t *del_group)
Destroy and free a DeleteGroup object previously created with rd_kafka_DeleteGroup_new()
RD_EXPORT void rd_kafka_log_syslog(const rd_kafka_t *rk, int level, const char *fac, const char *buf)
Builtin log sink: print to syslog.
struct rd_kafka_DeleteTopic_s rd_kafka_DeleteTopic_t
Definition rdkafka.h:8673
RD_EXPORT void rd_kafka_share_partition_offsets_list_destroy(rd_kafka_share_partition_offsets_list_t *list)
Destroy the partition offsets list.
rd_kafka_consumer_group_type_t
Consumer group type.
Definition rdkafka.h:6320
struct rd_kafka_ScramCredentialInfo_s rd_kafka_ScramCredentialInfo_t
Scram credential info. Mechanism and iterations for a SASL/SCRAM credential associated with a user.
Definition rdkafka.h:10623
RD_EXPORT void rd_kafka_topic_conf_set_msg_order_cmp(rd_kafka_topic_conf_t *topic_conf, int(*msg_order_cmp)(const rd_kafka_message_t *a, const rd_kafka_message_t *b))
Producer: Set message queueing order comparator callback.
RD_EXPORT const rd_kafka_error_t * rd_kafka_TopicDescription_error(const rd_kafka_TopicDescription_t *topicdesc)
Gets the error for the topicdesc topic.
RD_EXPORT rd_kafka_error_t * rd_kafka_consumer_group_metadata_read(rd_kafka_consumer_group_metadata_t **cgmdp, const void *buffer, size_t size)
Reads serialized consumer group metadata and returns a consumer group metadata object....
RD_EXPORT rd_kafka_resp_err_t rd_kafka_offset_store(rd_kafka_topic_t *rkt, int32_t partition, int64_t offset)
Store offset offset + 1 for topic rkt partition partition.
RD_EXPORT rd_kafka_topic_partition_list_t * rd_kafka_event_topic_partition_list(rd_kafka_event_t *rkev)
rd_kafka_AlterConfigOpType_t
Incremental alter configs operations.
Definition rdkafka.h:9020
RD_EXPORT void rd_kafka_DeleteGroup_destroy_array(rd_kafka_DeleteGroup_t **del_groups, size_t del_group_cnt)
Helper function to destroy all DeleteGroup objects in the del_groups array (of del_group_cnt elements...
RD_EXPORT const rd_kafka_group_result_t ** rd_kafka_DeleteConsumerGroupOffsets_result_groups(const rd_kafka_DeleteConsumerGroupOffsets_result_t *result, size_t *cntp)
Get an array of results from a DeleteConsumerGroupOffsets result.
RD_EXPORT const rd_kafka_error_t * rd_kafka_ConsumerGroupDescription_error(const rd_kafka_ConsumerGroupDescription_t *grpdesc)
Gets the error for the grpdesc group.
RD_EXPORT const char * rd_kafka_event_config_string(rd_kafka_event_t *rkev)
RD_EXPORT int rd_kafka_produce_batch(rd_kafka_topic_t *rkt, int32_t partition, int msgflags, rd_kafka_message_t *rkmessages, int message_cnt)
Produce multiple messages.
rd_kafka_event_t rd_kafka_ListConsumerGroups_result_t
Definition rdkafka.h:6983
RD_EXPORT const rd_kafka_share_partition_offsets_t * rd_kafka_share_partition_offsets_list_get(const rd_kafka_share_partition_offsets_list_t *list, size_t index)
Get a partition offsets entry at the specified index.
RD_EXPORT const rd_kafka_ConfigResource_t ** rd_kafka_AlterConfigs_result_resources(const rd_kafka_AlterConfigs_result_t *result, size_t *cntp)
Get an array of resource results from a AlterConfigs result.
RD_EXPORT rd_kafka_ResourcePatternType_t rd_kafka_AclBinding_resource_pattern_type(const rd_kafka_AclBinding_t *acl)
RD_EXPORT int rd_kafka_ConfigEntry_is_sensitive(const rd_kafka_ConfigEntry_t *entry)
RD_EXPORT const rd_kafka_Node_t ** rd_kafka_TopicPartitionInfo_replicas(const rd_kafka_TopicPartitionInfo_t *partition, size_t *cntp)
Gets the partition replicas for partition.
RD_EXPORT void rd_kafka_ListConsumerGroupOffsets_destroy(rd_kafka_ListConsumerGroupOffsets_t *list_grpoffsets)
Destroy and free a ListConsumerGroupOffsets object previously created with rd_kafka_ListConsumerGroup...
RD_EXPORT void rd_kafka_DescribeAcls(rd_kafka_t *rk, rd_kafka_AclBindingFilter_t *acl_filter, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
Describe acls matching the filter provided in acl_filter.
RD_EXPORT rd_kafka_error_t * rd_kafka_abort_transaction(rd_kafka_t *rk, int timeout_ms)
Aborts the ongoing transaction.
rd_kafka_admin_op_t
Admin operation enum name for use with rd_kafka_AdminOptions_new()
Definition rdkafka.h:8200
@ RD_KAFKA_ADMIN_OP_DESCRIBEUSERSCRAMCREDENTIALS
Definition rdkafka.h:8223
@ RD_KAFKA_ADMIN_OP_DELETERECORDS
Definition rdkafka.h:8207
@ RD_KAFKA_ADMIN_OP_CREATETOPICS
Definition rdkafka.h:8202
@ RD_KAFKA_ADMIN_OP_CREATEACLS
Definition rdkafka.h:8211
@ RD_KAFKA_ADMIN_OP_INCREMENTALALTERCONFIGS
Definition rdkafka.h:8221
@ RD_KAFKA_ADMIN_OP_DESCRIBEACLS
Definition rdkafka.h:8212
@ RD_KAFKA_ADMIN_OP_DESCRIBECLUSTER
Definition rdkafka.h:8227
@ RD_KAFKA_ADMIN_OP_DESCRIBECONSUMERGROUPS
Definition rdkafka.h:8215
@ RD_KAFKA_ADMIN_OP_DELETEGROUPS
Definition rdkafka.h:8208
@ RD_KAFKA_ADMIN_OP_ELECTLEADERS
Definition rdkafka.h:8229
@ RD_KAFKA_ADMIN_OP_ANY
Definition rdkafka.h:8201
@ RD_KAFKA_ADMIN_OP_DELETEACLS
Definition rdkafka.h:8213
@ RD_KAFKA_ADMIN_OP_DELETECONSUMERGROUPOFFSETS
Definition rdkafka.h:8210
@ RD_KAFKA_ADMIN_OP_DELETETOPICS
Definition rdkafka.h:8203
@ RD_KAFKA_ADMIN_OP_LISTCONSUMERGROUPOFFSETS
Definition rdkafka.h:8217
@ RD_KAFKA_ADMIN_OP_LISTCONSUMERGROUPS
Definition rdkafka.h:8214
@ RD_KAFKA_ADMIN_OP_LISTOFFSETS
Definition rdkafka.h:8228
@ RD_KAFKA_ADMIN_OP__CNT
Definition rdkafka.h:8230
@ RD_KAFKA_ADMIN_OP_ALTERCONSUMERGROUPOFFSETS
Definition rdkafka.h:8219
@ RD_KAFKA_ADMIN_OP_ALTERCONFIGS
Definition rdkafka.h:8205
@ RD_KAFKA_ADMIN_OP_CREATEPARTITIONS
Definition rdkafka.h:8204
@ RD_KAFKA_ADMIN_OP_ALTERUSERSCRAMCREDENTIALS
Definition rdkafka.h:8225
@ RD_KAFKA_ADMIN_OP_DESCRIBETOPICS
Definition rdkafka.h:8226
@ RD_KAFKA_ADMIN_OP_DESCRIBECONFIGS
Definition rdkafka.h:8206
struct rd_kafka_AlterConsumerGroupOffsets_s rd_kafka_AlterConsumerGroupOffsets_t
Definition rdkafka.h:10336
RD_EXPORT const char * rd_kafka_ResourceType_name(rd_kafka_ResourceType_t restype)
RD_EXPORT rd_kafka_resp_err_t rd_kafka_interceptor_add_on_response_received(rd_kafka_t *rk, const char *ic_name, rd_kafka_interceptor_f_on_response_received_t *on_response_received, void *ic_opaque)
Append an on_response_received() interceptor.
RD_EXPORT rd_kafka_message_t * rd_kafka_consume(rd_kafka_topic_t *rkt, int32_t partition, int timeout_ms)
Consume a single message from topic rkt and partition.
RD_EXPORT const rd_kafka_ScramCredentialInfo_t * rd_kafka_UserScramCredentialsDescription_scramcredentialinfo(const rd_kafka_UserScramCredentialsDescription_t *description, size_t idx)
Returns the ScramCredentialInfo at index idx of UserScramCredentialsDescription.
RD_EXPORT void rd_kafka_NewPartitions_destroy_array(rd_kafka_NewPartitions_t **new_parts, size_t new_parts_cnt)
Helper function to destroy all NewPartitions objects in the new_parts array (of new_parts_cnt element...
RD_EXPORT int rd_kafka_version(void)
Returns the librdkafka version as integer.
RD_EXPORT rd_kafka_Uuid_t * rd_kafka_Uuid_copy(const rd_kafka_Uuid_t *uuid)
Copies the given UUID.
RD_EXPORT int rd_kafka_topic_partition_list_del_by_idx(rd_kafka_topic_partition_list_t *rktparlist, int idx)
Delete partition from list by elems[] index.
RD_EXPORT size_t rd_kafka_UserScramCredentialsDescription_scramcredentialinfo_count(const rd_kafka_UserScramCredentialsDescription_t *description)
Returns the count of ScramCredentialInfos of a UserScramCredentialsDescription.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_metadata(rd_kafka_t *rk, int all_topics, rd_kafka_topic_t *only_rkt, const struct rd_kafka_metadata **metadatap, int timeout_ms)
Request Metadata from broker.
RD_EXPORT int32_t rd_kafka_consumer_group_metadata_generation_id(const rd_kafka_consumer_group_metadata_t *group_metadata)
Get the generation id (classic protocol) or member epoch (consumer protocol) of a group metadata.
struct rd_kafka_UserScramCredentialAlteration_s rd_kafka_UserScramCredentialAlteration_t
A request to alter a user's SASL/SCRAM credentials.
Definition rdkafka.h:10717
RD_EXPORT rd_kafka_UserScramCredentialAlteration_t * rd_kafka_UserScramCredentialUpsertion_new(const char *username, rd_kafka_ScramMechanism_t mechanism, int32_t iterations, const unsigned char *password, size_t password_size, const unsigned char *salt, size_t salt_size)
Allocates a new UserScramCredentialUpsertion given its fields. If salt isn't given a 64 B salt is gen...
RD_EXPORT rd_kafka_resp_err_t rd_kafka_interceptor_add_on_thread_exit(rd_kafka_t *rk, const char *ic_name, rd_kafka_interceptor_f_on_thread_exit_t *on_thread_exit, void *ic_opaque)
Append an on_thread_exit() interceptor.
RD_EXPORT int rd_kafka_consumer_closed(rd_kafka_t *rk)
rd_kafka_resp_err_t() rd_kafka_interceptor_f_on_commit_t(rd_kafka_t *rk, const rd_kafka_topic_partition_list_t *offsets, rd_kafka_resp_err_t err, void *ic_opaque)
on_commit() is called on completed or failed offset commit. It is called from internal librdkafka thr...
Definition rdkafka.h:7632
RD_EXPORT rd_kafka_headers_t * rd_kafka_headers_new(size_t initial_count)
Create a new headers list.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_header_remove(rd_kafka_headers_t *hdrs, const char *name)
Remove all headers for the given key (if any).
RD_EXPORT RD_DEPRECATED int rd_kafka_errno(void)
Returns the thread-local system errno.
RD_EXPORT rd_kafka_topic_partition_list_t * rd_kafka_topic_partition_list_new(int size)
Create a new list/vector Topic+Partition container.
RD_EXPORT int rd_kafka_share_consumer_closed(rd_kafka_share_t *rkshare)
Check whether the share consumer has finished closing.
RD_EXPORT rd_kafka_topic_conf_t * rd_kafka_topic_conf_new(void)
Create topic configuration object.
RD_EXPORT void rd_kafka_DeleteTopic_destroy(rd_kafka_DeleteTopic_t *del_topic)
Destroy and free a DeleteTopic object previously created with rd_kafka_DeleteTopic_new()
RD_EXPORT const char * rd_kafka_Node_host(const rd_kafka_Node_t *node)
Get the host of node.
rd_kafka_consumer_group_state_t
Consumer group state.
Definition rdkafka.h:6305
rd_kafka_resp_err_t() rd_kafka_interceptor_f_on_response_received_t(rd_kafka_t *rk, int sockfd, const char *brokername, int32_t brokerid, int16_t ApiKey, int16_t ApiVersion, int32_t CorrId, size_t size, int64_t rtt, rd_kafka_resp_err_t err, void *ic_opaque)
on_response_received() is called when a protocol response has been fully received from a broker TCP c...
Definition rdkafka.h:7697
RD_EXPORT const int64_t * rd_kafka_share_partition_offsets_offsets(const rd_kafka_share_partition_offsets_t *partition_offsets)
Get the offsets array from a partition offsets entry.
RD_EXPORT int rd_kafka_consume_start_queue(rd_kafka_topic_t *rkt, int32_t partition, int64_t offset, rd_kafka_queue_t *rkqu)
Same as rd_kafka_consume_start() but re-routes incoming messages to the provided queue rkqu (which mu...
int rd_kafka_event_type_t
Event types.
Definition rdkafka.h:6674
RD_EXPORT size_t rd_kafka_queue_length(rd_kafka_queue_t *rkqu)
struct rd_kafka_ConsumerGroupListing_s rd_kafka_ConsumerGroupListing_t
ListConsumerGroups result for a single group.
Definition rdkafka.h:9745
RD_EXPORT void rd_kafka_conf_dump_free(const char **arr, size_t cnt)
Frees a configuration dump returned from rd_kafka_conf_dump() or `rd_kafka_topic_conf_dump().
struct rd_kafka_ConfigEntry_s rd_kafka_ConfigEntry_t
Definition rdkafka.h:8915
RD_EXPORT rd_kafka_resp_err_t rd_kafka_conf_interceptor_add_on_conf_destroy(rd_kafka_conf_t *conf, const char *ic_name, rd_kafka_interceptor_f_on_conf_destroy_t *on_conf_destroy, void *ic_opaque)
Append an on_conf_destroy() interceptor.
RD_EXPORT rd_kafka_consumer_group_type_t rd_kafka_ConsumerGroupDescription_type(const rd_kafka_ConsumerGroupDescription_t *grpdesc)
Gets type for the grpdesc group.
RD_EXPORT void rd_kafka_topic_destroy(rd_kafka_topic_t *rkt)
Loose application's topic handle refcount as previously created with rd_kafka_topic_new().
struct rd_kafka_messages_s rd_kafka_messages_t
Opaque container of messages returned by rd_kafka_share_poll().
Definition rdkafka.h:1547
RD_EXPORT rd_kafka_resp_err_t rd_kafka_share_subscription(rd_kafka_share_t *rkshare, rd_kafka_topic_partition_list_t **topics)
Returns the current topic subscription.
RD_EXPORT void rd_kafka_queue_destroy(rd_kafka_queue_t *rkqu)
RD_EXPORT void rd_kafka_ListConsumerGroupOffsets_destroy_array(rd_kafka_ListConsumerGroupOffsets_t **list_grpoffsets, size_t list_grpoffset_cnt)
Helper function to destroy all ListConsumerGroupOffsets objects in the list_grpoffsets array (of list...
struct rd_kafka_AdminOptions_s rd_kafka_AdminOptions_t
AdminOptions provides a generic mechanism for setting optional parameters for the Admin API requests.
Definition rdkafka.h:8245
RD_EXPORT int rd_kafka_topic_partition_list_del(rd_kafka_topic_partition_list_t *rktparlist, const char *topic, int32_t partition)
Delete partition from list.
RD_EXPORT const rd_kafka_group_result_t ** rd_kafka_AlterConsumerGroupOffsets_result_groups(const rd_kafka_AlterConsumerGroupOffsets_result_t *result, size_t *cntp)
Get an array of results from a AlterConsumerGroupOffsets result.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_topic_result_error(const rd_kafka_topic_result_t *topicres)
Topic result provides per-topic operation result information.
RD_EXPORT int rd_kafka_error_is_fatal(const rd_kafka_error_t *error)
RD_EXPORT rd_kafka_resp_err_t rd_kafka_conf_interceptor_add_on_conf_set(rd_kafka_conf_t *conf, const char *ic_name, rd_kafka_interceptor_f_on_conf_set_t *on_conf_set, void *ic_opaque)
Append an on_conf_set() interceptor.
RD_EXPORT char * rd_kafka_memberid(const rd_kafka_t *rk)
Returns this client's broker-assigned group member id.
RD_EXPORT void rd_kafka_conf_set_oauthbearer_token_refresh_cb(rd_kafka_conf_t *conf, void(*oauthbearer_token_refresh_cb)(rd_kafka_t *rk, const char *oauthbearer_config, void *opaque))
Set SASL/OAUTHBEARER token refresh callback in provided conf object.
RD_EXPORT void rd_kafka_AlterConsumerGroupOffsets_destroy(rd_kafka_AlterConsumerGroupOffsets_t *alter_grpoffsets)
Destroy and free a AlterConsumerGroupOffsets object previously created with rd_kafka_AlterConsumerGro...
RD_EXPORT rd_kafka_resp_err_t rd_kafka_AdminOptions_set_request_timeout(rd_kafka_AdminOptions_t *options, int timeout_ms, char *errstr, size_t errstr_size)
Sets the overall request timeout, including broker lookup, request transmission, operation time on br...
RD_EXPORT void rd_kafka_message_set_headers(rd_kafka_message_t *rkmessage, rd_kafka_headers_t *hdrs)
Replace the message's current headers with a new list.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_commit_message(rd_kafka_t *rk, const rd_kafka_message_t *rkmessage, int async)
Commit message's offset on broker for the message's partition. The committed offset is the message's ...
RD_EXPORT const char * rd_kafka_ResourcePatternType_name(rd_kafka_ResourcePatternType_t resource_pattern_type)
rd_kafka_vtype_t
Var-arg tag types.
Definition rdkafka.h:1186
@ RD_KAFKA_VTYPE_PARTITION
Definition rdkafka.h:1190
@ RD_KAFKA_VTYPE_HEADERS
Definition rdkafka.h:1202
@ RD_KAFKA_VTYPE_TOPIC
Definition rdkafka.h:1188
@ RD_KAFKA_VTYPE_MSGFLAGS
Definition rdkafka.h:1198
@ RD_KAFKA_VTYPE_RKT
Definition rdkafka.h:1189
@ RD_KAFKA_VTYPE_HEADER
Definition rdkafka.h:1200
@ RD_KAFKA_VTYPE_KEY
Definition rdkafka.h:1192
@ RD_KAFKA_VTYPE_END
Definition rdkafka.h:1187
@ RD_KAFKA_VTYPE_OPAQUE
Definition rdkafka.h:1193
@ RD_KAFKA_VTYPE_VALUE
Definition rdkafka.h:1191
@ RD_KAFKA_VTYPE_TIMESTAMP
Definition rdkafka.h:1199
struct rd_kafka_ConfigResource_s rd_kafka_ConfigResource_t
Definition rdkafka.h:9041
struct rd_kafka_DeleteGroup_s rd_kafka_DeleteGroup_t
Definition rdkafka.h:10161
RD_EXPORT rd_kafka_resp_err_t rd_kafka_poll_set_consumer(rd_kafka_t *rk)
Redirect the main (rd_kafka_poll()) queue to the KafkaConsumer's queue (rd_kafka_consumer_poll()).
RD_EXPORT const rd_kafka_ConfigEntry_t ** rd_kafka_ConfigResource_configs(const rd_kafka_ConfigResource_t *config, size_t *cntp)
Get an array of config entries from a ConfigResource object.
RD_EXPORT const char * rd_kafka_topic_result_name(const rd_kafka_topic_result_t *topicres)
RD_EXPORT void rd_kafka_AdminOptions_set_opaque(rd_kafka_AdminOptions_t *options, void *ev_opaque)
Set application opaque value that can be extracted from the result event using rd_kafka_event_opaque(...
RD_EXPORT rd_kafka_error_t * rd_kafka_consumer_close_queue(rd_kafka_t *rk, rd_kafka_queue_t *rkqu)
Asynchronously close the consumer.
RD_EXPORT RD_DEPRECATED void rd_kafka_set_logger(rd_kafka_t *rk, void(*func)(const rd_kafka_t *rk, int level, const char *fac, const char *buf))
Set logger function.
RD_EXPORT const char * rd_kafka_AclBinding_host(const rd_kafka_AclBinding_t *acl)
RD_EXPORT int rd_kafka_ConsumerGroupDescription_is_simple_consumer_group(const rd_kafka_ConsumerGroupDescription_t *grpdesc)
Is the grpdesc group a simple consumer group.
RD_EXPORT rd_kafka_error_t * rd_kafka_share_consumer_close(rd_kafka_share_t *rkshare)
Close the share consumer.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_event_error(rd_kafka_event_t *rkev)
RD_EXPORT void rd_kafka_headers_destroy(rd_kafka_headers_t *hdrs)
Destroy the headers list. The object and any returned value pointers are not usable after this call.
RD_EXPORT int32_t rd_kafka_message_broker_id(const rd_kafka_message_t *rkmessage)
Returns the broker id of the broker the message was produced to or fetched from.
RD_EXPORT rd_kafka_error_t * rd_kafka_share_poll(rd_kafka_share_t *rkshare, int timeout_ms, rd_kafka_messages_t **rkmessages)
Poll the share consumer for a batch of messages. It is different from normal consumer poll where a si...
rd_kafka_event_t rd_kafka_AlterConsumerGroupOffsets_result_t
Definition rdkafka.h:6991
RD_EXPORT void rd_kafka_ConfigResource_destroy_array(rd_kafka_ConfigResource_t **config, size_t config_cnt)
Helper function to destroy all ConfigResource objects in the configs array (of config_cnt elements)....
RD_EXPORT rd_kafka_resp_err_t rd_kafka_interceptor_add_on_thread_start(rd_kafka_t *rk, const char *ic_name, rd_kafka_interceptor_f_on_thread_start_t *on_thread_start, void *ic_opaque)
Append an on_thread_start() interceptor.
RD_EXPORT size_t rd_kafka_ConsumerGroupDescription_member_count(const rd_kafka_ConsumerGroupDescription_t *grpdesc)
Gets the members count of grpdesc group.
RD_EXPORT void rd_kafka_conf_properties_show(FILE *fp)
Prints a table to fp of all supported configuration properties, their default values as well as a des...
RD_EXPORT const char * rd_kafka_ConfigEntry_value(const rd_kafka_ConfigEntry_t *entry)
RD_EXPORT const rd_kafka_AlterUserScramCredentials_result_response_t ** rd_kafka_AlterUserScramCredentials_result_responses(const rd_kafka_AlterUserScramCredentials_result_t *result, size_t *cntp)
Get an array of responses from a AlterUserScramCredentials result.
rd_kafka_resp_err_t() rd_kafka_interceptor_f_on_acknowledgement_t(rd_kafka_t *rk, rd_kafka_message_t *rkmessage, void *ic_opaque)
on_acknowledgement() is called to inform interceptors that a message was succesfully delivered or per...
Definition rdkafka.h:7584
RD_EXPORT const rd_kafka_conf_t * rd_kafka_conf(rd_kafka_t *rk)
struct rd_kafka_DeleteConsumerGroupOffsets_s rd_kafka_DeleteConsumerGroupOffsets_t
Definition rdkafka.h:10432
RD_EXPORT int rd_kafka_ConfigEntry_is_read_only(const rd_kafka_ConfigEntry_t *entry)
RD_EXPORT rd_kafka_AdminOptions_t * rd_kafka_AdminOptions_new(rd_kafka_t *rk, rd_kafka_admin_op_t for_api)
Create a new AdminOptions object.
rd_kafka_resp_err_t() rd_kafka_interceptor_f_on_thread_start_t(rd_kafka_t *rk, rd_kafka_thread_type_t thread_type, const char *thread_name, void *ic_opaque)
on_thread_start() is called from a newly created librdkafka-managed thread.
Definition rdkafka.h:7727
RD_EXPORT int rd_kafka_wait_destroyed(int timeout_ms)
Wait for all rd_kafka_t objects to be destroyed.
RD_EXPORT const rd_kafka_error_t * rd_kafka_AclBinding_error(const rd_kafka_AclBinding_t *acl)
RD_EXPORT rd_kafka_resp_err_t rd_kafka_share_acknowledge_offset(rd_kafka_share_t *rkshare, const char *topic, int32_t partition, int64_t offset, rd_kafka_share_AcknowledgeType_t type)
Acknowledge an offset directly with specified acknowledgement type.
rd_kafka_ConfigSource_t
Apache Kafka config sources.
Definition rdkafka.h:8882
@ RD_KAFKA_CONFIG_SOURCE_UNKNOWN_CONFIG
Definition rdkafka.h:8885
@ RD_KAFKA_CONFIG_SOURCE__CNT
Definition rdkafka.h:8903
@ RD_KAFKA_CONFIG_SOURCE_DYNAMIC_BROKER_CONFIG
Definition rdkafka.h:8889
@ RD_KAFKA_CONFIG_SOURCE_DYNAMIC_TOPIC_CONFIG
Definition rdkafka.h:8887
@ RD_KAFKA_CONFIG_SOURCE_DEFAULT_CONFIG
Definition rdkafka.h:8898
@ RD_KAFKA_CONFIG_SOURCE_STATIC_BROKER_CONFIG
Definition rdkafka.h:8895
@ RD_KAFKA_CONFIG_SOURCE_DYNAMIC_DEFAULT_BROKER_CONFIG
Definition rdkafka.h:8892
@ RD_KAFKA_CONFIG_SOURCE_GROUP_CONFIG
Definition rdkafka.h:8900
RD_EXPORT int32_t rd_kafka_msg_partitioner_consistent(const rd_kafka_topic_t *rkt, const void *key, size_t keylen, int32_t partition_cnt, void *rkt_opaque, void *msg_opaque)
Consistent partitioner.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_message_headers(const rd_kafka_message_t *rkmessage, rd_kafka_headers_t **hdrsp)
Get the message header list.
RD_EXPORT void * rd_kafka_opaque(const rd_kafka_t *rk)
Retrieves the opaque pointer previously set with rd_kafka_conf_set_opaque()
RD_EXPORT void rd_kafka_DeleteRecords(rd_kafka_t *rk, rd_kafka_DeleteRecords_t **del_records, size_t del_record_cnt, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
Delete records (messages) in topic partitions older than the offsets provided.
RD_EXPORT rd_kafka_AclPermissionType_t rd_kafka_AclBinding_permission_type(const rd_kafka_AclBinding_t *acl)
RD_EXPORT const rd_kafka_ConfigEntry_t ** rd_kafka_ConfigEntry_synonyms(const rd_kafka_ConfigEntry_t *entry, size_t *cntp)
RD_EXPORT const char * rd_kafka_AclBinding_name(const rd_kafka_AclBinding_t *acl)
RD_EXPORT const rd_kafka_message_t * rd_kafka_event_message_next(rd_kafka_event_t *rkev)
rd_kafka_resp_err_t() rd_kafka_interceptor_f_on_destroy_t(rd_kafka_t *rk, void *ic_opaque)
on_destroy() is called from rd_kafka_destroy() or (rd_kafka_new() if rd_kafka_new() fails during init...
Definition rdkafka.h:7533
RD_EXPORT rd_kafka_DeleteTopic_t * rd_kafka_DeleteTopic_new(const char *topic)
Create a new DeleteTopic object. This object is later passed to rd_kafka_DeleteTopics().
RD_EXPORT const rd_kafka_TopicDescription_t ** rd_kafka_DescribeTopics_result_topics(const rd_kafka_DescribeTopics_result_t *result, size_t *cntp)
Get an array of topic results from a DescribeTopics result.
RD_EXPORT const char * rd_kafka_consumer_group_type_name(rd_kafka_consumer_group_type_t type)
Returns a name for a group type code.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_flush(rd_kafka_t *rk, int timeout_ms)
Wait until all outstanding produce requests, et.al, are completed. This should typically be done prio...
RD_EXPORT void rd_kafka_AlterUserScramCredentials(rd_kafka_t *rk, rd_kafka_UserScramCredentialAlteration_t **alterations, size_t alteration_cnt, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
Alter SASL/SCRAM credentials. This operation is supported by brokers with version 2....
RD_EXPORT const char * rd_kafka_UserScramCredentialsDescription_user(const rd_kafka_UserScramCredentialsDescription_t *description)
Returns the username of a UserScramCredentialsDescription.
RD_EXPORT int rd_kafka_error_txn_requires_abort(const rd_kafka_error_t *error)
RD_EXPORT const rd_kafka_topic_partition_t * rd_kafka_topic_partition_result_partition(const rd_kafka_topic_partition_result_t *partition_result)
Topic Partition Result provides per-topic+partition operation result Consists of TopicPartition objec...
RD_EXPORT rd_kafka_resp_err_t rd_kafka_share_oauthbearer_set_token(rd_kafka_share_t *rkshare, const char *token_value, int64_t md_lifetime_ms, const char *md_principal_name, const char **extensions, size_t extension_size, char *errstr, size_t errstr_size)
Set SASL/OAUTHBEARER token and metadata for a share consumer.
RD_EXPORT void rd_kafka_group_list_destroy(const struct rd_kafka_group_list *grplist)
Release list memory.
rd_kafka_AclPermissionType_t
Apache Kafka ACL permission types.
Definition rdkafka.h:10875
@ RD_KAFKA_ACL_PERMISSION_TYPE_DENY
Definition rdkafka.h:10879
@ RD_KAFKA_ACL_PERMISSION_TYPE_ALLOW
Definition rdkafka.h:10880
@ RD_KAFKA_ACL_PERMISSION_TYPE_UNKNOWN
Definition rdkafka.h:10876
@ RD_KAFKA_ACL_PERMISSION_TYPE_ANY
Definition rdkafka.h:10877
rd_kafka_thread_type_t
librdkafka internal thread type.
Definition rdkafka.h:6611
@ RD_KAFKA_THREAD_MAIN
Definition rdkafka.h:6612
@ RD_KAFKA_THREAD_BACKGROUND
Definition rdkafka.h:6613
@ RD_KAFKA_THREAD_BROKER
Definition rdkafka.h:6614
RD_EXPORT int rd_kafka_ConsumerGroupListing_is_simple_consumer_group(const rd_kafka_ConsumerGroupListing_t *grplist)
Is the grplist group a simple consumer group.
RD_EXPORT void rd_kafka_destroy_flags(rd_kafka_t *rk, int flags)
Destroy Kafka handle according to specified destroy flags.
RD_EXPORT rd_kafka_AclOperation_t rd_kafka_AclBinding_operation(const rd_kafka_AclBinding_t *acl)
RD_EXPORT const char * rd_kafka_Node_rack(const rd_kafka_Node_t *node)
Get the rack of node.
RD_EXPORT void rd_kafka_ListConsumerGroupOffsets(rd_kafka_t *rk, rd_kafka_ListConsumerGroupOffsets_t **list_grpoffsets, size_t list_grpoffsets_cnt, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
List committed offsets for a set of partitions in a consumer group.
RD_EXPORT void rd_kafka_conf_set_closesocket_cb(rd_kafka_conf_t *conf, int(*closesocket_cb)(int sockfd, void *opaque))
Set close socket callback.
RD_EXPORT int32_t rd_kafka_msg_partitioner_murmur2_random(const rd_kafka_topic_t *rkt, const void *key, size_t keylen, int32_t partition_cnt, void *rkt_opaque, void *msg_opaque)
Consistent-Random Murmur2 partitioner (Java compatible).
RD_EXPORT rd_kafka_resp_err_t rd_kafka_subscription(rd_kafka_t *rk, rd_kafka_topic_partition_list_t **topics)
Returns the current topic subscription.
RD_EXPORT rd_kafka_type_t rd_kafka_type(const rd_kafka_t *rk)
Returns Kafka handle type.
RD_EXPORT void rd_kafka_topic_partition_set_leader_epoch(rd_kafka_topic_partition_t *rktpar, int32_t leader_epoch)
Sets the offset leader epoch (use -1 to clear).
rd_kafka_cert_enc_t
SSL certificate encoding.
Definition rdkafka.h:2614
@ RD_KAFKA_CERT_ENC_PEM
Definition rdkafka.h:2617
@ RD_KAFKA_CERT_ENC_PKCS12
Definition rdkafka.h:2615
@ RD_KAFKA_CERT_ENC_DER
Definition rdkafka.h:2616
RD_EXPORT int rd_kafka_brokers_add(rd_kafka_t *rk, const char *brokerlist)
Adds one or more brokers to the kafka handle's list of initial bootstrap brokers.
RD_EXPORT int rd_kafka_unittest(void)
Run librdkafka's built-in unit-tests.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_commit(rd_kafka_t *rk, const rd_kafka_topic_partition_list_t *offsets, int async)
Commit offsets on broker for the provided list of partitions.
RD_EXPORT const char * rd_kafka_MemberDescription_consumer_id(const rd_kafka_MemberDescription_t *member)
Gets consumer id of member.
RD_EXPORT int64_t rd_kafka_message_latency(const rd_kafka_message_t *rkmessage)
Returns the latency for a produced message measured from the produce() call.
RD_EXPORT const char * rd_kafka_ConfigSource_name(rd_kafka_ConfigSource_t confsource)
RD_EXPORT rd_kafka_resp_err_t rd_kafka_interceptor_add_on_acknowledgement(rd_kafka_t *rk, const char *ic_name, rd_kafka_interceptor_f_on_acknowledgement_t *on_acknowledgement, void *ic_opaque)
Append an on_acknowledgement() interceptor.
rd_kafka_event_t rd_kafka_DeleteGroups_result_t
Definition rdkafka.h:6987
rd_kafka_event_t rd_kafka_ElectLeaders_result_t
Definition rdkafka.h:7005
RD_EXPORT rd_kafka_conf_res_t rd_kafka_conf_set(rd_kafka_conf_t *conf, const char *name, const char *value, char *errstr, size_t errstr_size)
Sets a configuration property.
rd_kafka_event_t rd_kafka_DescribeConfigs_result_t
Definition rdkafka.h:6979
RD_EXPORT uint16_t rd_kafka_Node_port(const rd_kafka_Node_t *node)
Get the port of node.
RD_EXPORT rd_kafka_message_t * rd_kafka_consumer_poll(rd_kafka_t *rk, int timeout_ms)
Poll the consumer for messages or events.
RD_EXPORT int32_t rd_kafka_controllerid(rd_kafka_t *rk, int timeout_ms)
Returns the current ControllerId as reported in broker metadata.
RD_EXPORT const rd_kafka_MemberAssignment_t * rd_kafka_MemberDescription_target_assignment(const rd_kafka_MemberDescription_t *member)
Gets target assignment of member.
RD_EXPORT int rd_kafka_ConfigEntry_is_default(const rd_kafka_ConfigEntry_t *entry)
RD_EXPORT rd_kafka_ScramMechanism_t rd_kafka_ScramCredentialInfo_mechanism(const rd_kafka_ScramCredentialInfo_t *scram_credential_info)
Returns the mechanism of a given ScramCredentialInfo.
RD_EXPORT void rd_kafka_conf_set_events(rd_kafka_conf_t *conf, int events)
Enable event sourcing. events is a bitmask of RD_KAFKA_EVENT_* of events to enable for consumption by...
RD_EXPORT rd_kafka_conf_res_t rd_kafka_conf_get(const rd_kafka_conf_t *conf, const char *name, char *dest, size_t *dest_size)
Retrieve configuration value for property name.
RD_EXPORT const rd_kafka_ListOffsetsResultInfo_t ** rd_kafka_ListOffsets_result_infos(const rd_kafka_ListOffsets_result_t *result, size_t *cntp)
Returns the array of ListOffsetsResultInfo in result and populates the size of the array in cntp.
RD_EXPORT RD_DEPRECATED rd_kafka_resp_err_t rd_kafka_errno2err(int errnox)
Converts the system errno value errnox to a rd_kafka_resp_err_t error code upon failure from the foll...
RD_EXPORT int32_t rd_kafka_msg_partitioner_fnv1a(const rd_kafka_topic_t *rkt, const void *key, size_t keylen, int32_t partition_cnt, void *rkt_opaque, void *msg_opaque)
FNV-1a partitioner.
rd_kafka_event_t rd_kafka_DeleteConsumerGroupOffsets_result_t
Definition rdkafka.h:6989
RD_EXPORT void rd_kafka_topic_conf_set_partitioner_cb(rd_kafka_topic_conf_t *topic_conf, int32_t(*partitioner)(const rd_kafka_topic_t *rkt, const void *keydata, size_t keylen, int32_t partition_cnt, void *rkt_opaque, void *msg_opaque))
Producer: Set partitioner callback in provided topic conf object.
RD_EXPORT const char * rd_kafka_err2str(rd_kafka_resp_err_t err)
Returns a human readable representation of a kafka error.
RD_EXPORT const char * rd_kafka_event_stats(rd_kafka_event_t *rkev)
Extract stats from the event.
RD_EXPORT void rd_kafka_destroy(rd_kafka_t *rk)
Destroy Kafka handle.
RD_EXPORT int rd_kafka_Node_id(const rd_kafka_Node_t *node)
Get the id of node.
RD_EXPORT rd_kafka_error_t * rd_kafka_sasl_background_callbacks_enable(rd_kafka_t *rk)
Enable SASL OAUTHBEARER refresh callbacks on the librdkafka background thread.
RD_EXPORT void rd_kafka_conf_set_dr_msg_cb(rd_kafka_conf_t *conf, void(*dr_msg_cb)(rd_kafka_t *rk, const rd_kafka_message_t *rkmessage, void *opaque))
Producer: Set delivery report callback in provided conf object.
RD_EXPORT rd_kafka_error_t * rd_kafka_offset_store_message(rd_kafka_message_t *rkmessage)
Store offset +1 for the consumed message.
RD_EXPORT rd_kafka_consumer_group_type_t rd_kafka_consumer_group_type_code(const char *name)
Returns a code for a group type name.
RD_EXPORT const rd_kafka_ListConsumerGroups_result_t * rd_kafka_event_ListConsumerGroups_result(rd_kafka_event_t *rkev)
Get ListConsumerGroups result.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_producev(rd_kafka_t *rk,...)
Produce and send a single message to broker.
RD_EXPORT void rd_kafka_topic_conf_destroy(rd_kafka_topic_conf_t *topic_conf)
Destroys a topic conf object.
RD_EXPORT const char * rd_kafka_consumer_group_metadata_group_instance_id(const rd_kafka_consumer_group_metadata_t *group_metadata)
Get group instance id of a group metadata.
RD_EXPORT rd_kafka_NewTopic_t * rd_kafka_NewTopic_new(const char *topic, int num_partitions, int replication_factor, char *errstr, size_t errstr_size)
Create a new NewTopic object. This object is later passed to rd_kafka_CreateTopics().
RD_EXPORT void rd_kafka_topic_partition_destroy(rd_kafka_topic_partition_t *rktpar)
Destroy a rd_kafka_topic_partition_t.
RD_EXPORT const rd_kafka_Node_t ** rd_kafka_TopicPartitionInfo_isr(const rd_kafka_TopicPartitionInfo_t *partition, size_t *cntp)
Gets the partition in-sync replicas for partition.
RD_EXPORT const rd_kafka_group_result_t ** rd_kafka_DeleteGroups_result_groups(const rd_kafka_DeleteGroups_result_t *result, size_t *cntp)
Get an array of group results from a DeleteGroups result.
RD_EXPORT int32_t rd_kafka_msg_partitioner_fnv1a_random(const rd_kafka_topic_t *rkt, const void *key, size_t keylen, int32_t partition_cnt, void *rkt_opaque, void *msg_opaque)
Consistent-Random FNV-1a partitioner.
RD_EXPORT void rd_kafka_DescribeConfigs(rd_kafka_t *rk, rd_kafka_ConfigResource_t **configs, size_t config_cnt, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
Get configuration for the specified resources in configs.
rd_kafka_type_t
rd_kafka_t handle type.
Definition rdkafka.h:209
@ RD_KAFKA_CONSUMER
Definition rdkafka.h:211
@ RD_KAFKA_PRODUCER
Definition rdkafka.h:210
RD_EXPORT int16_t rd_kafka_message_delivery_count(const rd_kafka_message_t *rkmessage)
Get the delivery count for a message associated with the share consumer.
RD_EXPORT rd_kafka_conf_res_t rd_kafka_topic_conf_set(rd_kafka_topic_conf_t *conf, const char *name, const char *value, char *errstr, size_t errstr_size)
Sets a single rd_kafka_topic_conf_t value by property name.
RD_EXPORT void rd_kafka_ElectLeaders(rd_kafka_t *rk, rd_kafka_ElectLeaders_t *elect_leaders, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
Elect Leaders for the provided Topic Partitions according to the specified election type.
RD_EXPORT rd_kafka_error_t * rd_kafka_share_set_acknowledgement_commit_cb(rd_kafka_share_t *rkshare, void(*share_acknowledgement_commit_cb)(rd_kafka_share_t *rkshare, rd_kafka_share_partition_offsets_list_t *partitions, rd_kafka_resp_err_t err, void *opaque), void *opaque)
Set acknowledgement commit callback at runtime.
RD_EXPORT void rd_kafka_DescribeUserScramCredentials(rd_kafka_t *rk, const char **users, size_t user_cnt, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
Describe SASL/SCRAM credentials. This operation is supported by brokers with version 2....
RD_EXPORT const char * rd_kafka_version_str(void)
Returns the librdkafka version as string.
RD_EXPORT void rd_kafka_set_log_level(rd_kafka_t *rk, int level)
Specifies the maximum logging level emitted by internal kafka logging and debugging.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_share_oauthbearer_set_token_failure(rd_kafka_share_t *rkshare, const char *errstr)
SASL/OAUTHBEARER token refresh failure indicator for a share consumer.
RD_EXPORT const rd_kafka_AlterConsumerGroupOffsets_result_t * rd_kafka_event_AlterConsumerGroupOffsets_result(rd_kafka_event_t *rkev)
Get AlterConsumerGroupOffsets result.
RD_EXPORT void rd_kafka_queue_io_event_enable(rd_kafka_queue_t *rkqu, int fd, const void *payload, size_t size)
Enable IO event triggering for queue.
rd_kafka_ResourcePatternType_t
Apache Kafka pattern types.
Definition rdkafka.h:9002
@ RD_KAFKA_RESOURCE_PATTERN_LITERAL
Definition rdkafka.h:9010
@ RD_KAFKA_RESOURCE_PATTERN_ANY
Definition rdkafka.h:9006
@ RD_KAFKA_RESOURCE_PATTERN_MATCH
Definition rdkafka.h:9008
@ RD_KAFKA_RESOURCE_PATTERN_PREFIXED
Definition rdkafka.h:9012
@ RD_KAFKA_RESOURCE_PATTERN_UNKNOWN
Definition rdkafka.h:9004
RD_EXPORT rd_kafka_event_t * rd_kafka_queue_poll(rd_kafka_queue_t *rkqu, int timeout_ms)
Poll a queue for an event for max timeout_ms.
RD_EXPORT rd_kafka_consumer_group_state_t rd_kafka_ConsumerGroupDescription_state(const rd_kafka_ConsumerGroupDescription_t *grpdesc)
Gets state for the grpdesc group.
RD_EXPORT int rd_kafka_error_is_retriable(const rd_kafka_error_t *error)
rd_kafka_ResourceType_t
Apache Kafka resource types.
Definition rdkafka.h:8988
@ RD_KAFKA_RESOURCE_BROKER
Definition rdkafka.h:8993
@ RD_KAFKA_RESOURCE__CNT
Definition rdkafka.h:8995
@ RD_KAFKA_RESOURCE_TOPIC
Definition rdkafka.h:8991
@ RD_KAFKA_RESOURCE_GROUP
Definition rdkafka.h:8992
@ RD_KAFKA_RESOURCE_TRANSACTIONAL_ID
Definition rdkafka.h:8994
@ RD_KAFKA_RESOURCE_UNKNOWN
Definition rdkafka.h:8989
@ RD_KAFKA_RESOURCE_ANY
Definition rdkafka.h:8990
struct rd_kafka_ConsumerGroupDescription_s rd_kafka_ConsumerGroupDescription_t
DescribeConsumerGroups result type.
Definition rdkafka.h:9860
RD_EXPORT void rd_kafka_conf_set_error_cb(rd_kafka_conf_t *conf, void(*error_cb)(rd_kafka_t *rk, int err, const char *reason, void *opaque))
Set error callback in provided conf object.
RD_EXPORT int rd_kafka_consume_stop(rd_kafka_topic_t *rkt, int32_t partition)
Stop consuming messages for topic rkt and partition, purging all messages currently in the local queu...
RD_EXPORT const rd_kafka_error_t * rd_kafka_DeleteAcls_result_response_error(const rd_kafka_DeleteAcls_result_response_t *result_response)
RD_EXPORT void rd_kafka_conf_enable_sasl_queue(rd_kafka_conf_t *conf, int enable)
Enable/disable creation of a queue specific to SASL events and callbacks.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_resume_partitions(rd_kafka_t *rk, rd_kafka_topic_partition_list_t *partitions)
Resume producing consumption for the provided list of partitions.
RD_EXPORT void rd_kafka_ConfigResource_destroy(rd_kafka_ConfigResource_t *config)
Destroy and free a ConfigResource object previously created with rd_kafka_ConfigResource_new()
RD_EXPORT const char * rd_kafka_event_name(const rd_kafka_event_t *rkev)
RD_EXPORT void rd_kafka_DeleteTopic_destroy_array(rd_kafka_DeleteTopic_t **del_topics, size_t del_topic_cnt)
Helper function to destroy all DeleteTopic objects in the del_topics array (of del_topic_cnt elements...
RD_EXPORT rd_kafka_NewPartitions_t * rd_kafka_NewPartitions_new(const char *topic, size_t new_total_cnt, char *errstr, size_t errstr_size)
Create a new NewPartitions. This object is later passed to rd_kafka_CreatePartitions() to increase th...
RD_EXPORT rd_kafka_resp_err_t rd_kafka_get_watermark_offsets(rd_kafka_t *rk, const char *topic, int32_t partition, int64_t *low, int64_t *high)
Get last known low (oldest/beginning) and high (newest/end) offsets for partition.
RD_EXPORT rd_kafka_AlterConsumerGroupOffsets_t * rd_kafka_AlterConsumerGroupOffsets_new(const char *group_id, const rd_kafka_topic_partition_list_t *partitions)
Create a new AlterConsumerGroupOffsets object. This object is later passed to rd_kafka_AlterConsumerG...
RD_EXPORT int rd_kafka_topic_partition_available(const rd_kafka_topic_t *rkt, int32_t partition)
Check if partition is available (has a leader broker).
RD_EXPORT const rd_kafka_ConsumerGroupDescription_t ** rd_kafka_DescribeConsumerGroups_result_groups(const rd_kafka_DescribeConsumerGroups_result_t *result, size_t *cntp)
Get an array of group results from a DescribeConsumerGroups result.
RD_EXPORT void rd_kafka_ListConsumerGroups(rd_kafka_t *rk, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
List the consumer groups available in the cluster.
RD_EXPORT rd_kafka_error_t * rd_kafka_share_commit_async(rd_kafka_share_t *rkshare)
Asynchronously commit all pending acknowledgements.
RD_EXPORT rd_kafka_conf_t * rd_kafka_conf_new(void)
Create configuration object.
RD_EXPORT const char * rd_kafka_ConsumerGroupListing_group_id(const rd_kafka_ConsumerGroupListing_t *grplist)
Gets the group id for the grplist group.
rd_kafka_msg_status_t
Message persistence status can be used by the application to find out if a produced message was persi...
Definition rdkafka.h:1727
@ RD_KAFKA_MSG_STATUS_POSSIBLY_PERSISTED
Definition rdkafka.h:1736
@ RD_KAFKA_MSG_STATUS_PERSISTED
Definition rdkafka.h:1741
@ RD_KAFKA_MSG_STATUS_NOT_PERSISTED
Definition rdkafka.h:1731
RD_EXPORT const rd_kafka_DeleteAcls_result_response_t ** rd_kafka_DeleteAcls_result_responses(const rd_kafka_DeleteAcls_result_t *result, size_t *cntp)
Get an array of DeleteAcls result responses from a DeleteAcls result.
RD_EXPORT int rd_kafka_outq_len(rd_kafka_t *rk)
Returns the current out queue length.
RD_EXPORT int rd_kafka_poll(rd_kafka_t *rk, int timeout_ms)
Polls the provided kafka handle for events.
RD_EXPORT rd_kafka_consumer_group_metadata_t * rd_kafka_consumer_group_metadata(rd_kafka_t *rk)
RD_EXPORT rd_kafka_error_t * rd_kafka_share_destroy_flags(rd_kafka_share_t *rkshare, int flags)
Destroy the share consumer instance according to specified destroy flags.
rd_kafka_event_t rd_kafka_AlterConfigs_result_t
Definition rdkafka.h:6975
rd_kafka_conf_res_t
Configuration result type.
Definition rdkafka.h:1863
@ RD_KAFKA_CONF_OK
Definition rdkafka.h:1868
@ RD_KAFKA_CONF_INVALID
Definition rdkafka.h:1865
@ RD_KAFKA_CONF_UNKNOWN
Definition rdkafka.h:1864
RD_EXPORT const rd_kafka_error_t ** rd_kafka_ListConsumerGroups_result_errors(const rd_kafka_ListConsumerGroups_result_t *result, size_t *cntp)
Get an array of errors from a ListConsumerGroups call result.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_header_add(rd_kafka_headers_t *hdrs, const char *name, ssize_t name_size, const void *value, ssize_t value_size)
Add header with name name and value val (copied) of size size (not including null-terminator).
RD_EXPORT int32_t rd_kafka_topic_partition_get_leader_epoch(const rd_kafka_topic_partition_t *rktpar)
RD_EXPORT rd_kafka_consumer_group_type_t rd_kafka_ConsumerGroupListing_type(const rd_kafka_ConsumerGroupListing_t *grplist)
Gets type for the grplist group.
RD_EXPORT rd_kafka_error_t * rd_kafka_share_destroy(rd_kafka_share_t *rkshare)
Destroy the share consumer instance and free all associated resources.
RD_EXPORT const rd_kafka_topic_partition_t * rd_kafka_ListOffsetsResultInfo_topic_partition(const rd_kafka_ListOffsetsResultInfo_t *result_info)
Returns the topic partition of the passed result_info.
RD_EXPORT int32_t rd_kafka_message_leader_epoch(const rd_kafka_message_t *rkmessage)
RD_EXPORT const rd_kafka_IncrementalAlterConfigs_result_t * rd_kafka_event_IncrementalAlterConfigs_result(rd_kafka_event_t *rkev)
Get IncrementalAlterConfigs result.
rd_kafka_share_AcknowledgeType_t
Share consumer acknowledgement types (exposed to Public APIs).
Definition rdkafka.h:5481
@ RD_KAFKA_SHARE_ACKNOWLEDGE_TYPE_RELEASE
Definition rdkafka.h:5483
@ RD_KAFKA_SHARE_ACKNOWLEDGE_TYPE_REJECT
Definition rdkafka.h:5485
@ RD_KAFKA_SHARE_ACKNOWLEDGE_TYPE_ACCEPT
Definition rdkafka.h:5482
RD_EXPORT rd_kafka_resp_err_t rd_kafka_share_unsubscribe(rd_kafka_share_t *rkshare)
Unsubscribe from the current subscription set.
RD_EXPORT rd_kafka_error_t * rd_kafka_share_commit_sync(rd_kafka_share_t *rkshare, int timeout_ms, rd_kafka_topic_partition_list_t **partitions)
Synchronously commit all pending acknowledgements.
RD_EXPORT rd_kafka_topic_partition_t * rd_kafka_event_topic_partition(rd_kafka_event_t *rkev)
RD_EXPORT rd_kafka_consumer_group_metadata_t * rd_kafka_consumer_group_metadata_new(const char *group_id)
Create a new consumer group metadata object. This is typically only used for writing tests.
RD_EXPORT const char * rd_kafka_message_errstr(const rd_kafka_message_t *rkmessage)
Returns the error string for an errored rd_kafka_message_t or NULL if there was no error.
RD_EXPORT void rd_kafka_NewPartitions_destroy(rd_kafka_NewPartitions_t *new_parts)
Destroy and free a NewPartitions object previously created with rd_kafka_NewPartitions_new()
RD_EXPORT rd_kafka_resp_err_t rd_kafka_NewTopic_set_replica_assignment(rd_kafka_NewTopic_t *new_topic, int32_t partition, int32_t *broker_ids, size_t broker_id_cnt, char *errstr, size_t errstr_size)
Set the replica (broker) assignment for partition to the replica set in broker_ids (of broker_id_cnt ...
RD_EXPORT void rd_kafka_AlterConfigs(rd_kafka_t *rk, rd_kafka_ConfigResource_t **configs, size_t config_cnt, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
Update the configuration for the specified resources. Updates are not transactional so they may succe...
RD_EXPORT void rd_kafka_AdminOptions_destroy(rd_kafka_AdminOptions_t *options)
Destroy a AdminOptions object.
RD_EXPORT rd_kafka_conf_res_t rd_kafka_conf_set_ssl_cert_verify_cb(rd_kafka_conf_t *conf, int(*ssl_cert_verify_cb)(rd_kafka_t *rk, const char *broker_name, int32_t broker_id, int *x509_error, int depth, const char *buf, size_t size, char *errstr, size_t errstr_size, void *opaque))
Sets the verification callback of the broker certificate.
RD_EXPORT rd_kafka_error_t * rd_kafka_produceva(rd_kafka_t *rk, const rd_kafka_vu_t *vus, size_t cnt)
Produce and send a single message to broker.
RD_EXPORT int rd_kafka_consume_start(rd_kafka_topic_t *rkt, int32_t partition, int64_t offset)
Start consuming messages for topic rkt and partition at offset offset which may either be an absolute...
RD_EXPORT int rd_kafka_produce(rd_kafka_topic_t *rkt, int32_t partition, int msgflags, void *payload, size_t len, const void *key, size_t keylen, void *msg_opaque)
Produce and send a single message to broker.
RD_EXPORT void * rd_kafka_topic_opaque(const rd_kafka_topic_t *rkt)
Get the rkt_opaque pointer that was set in the topic configuration with rd_kafka_topic_conf_set_opaqu...
RD_EXPORT rd_kafka_resp_err_t rd_kafka_offsets_for_times(rd_kafka_t *rk, rd_kafka_topic_partition_list_t *offsets, int timeout_ms)
Look up the offsets for the given partitions by timestamp.
struct rd_kafka_share_partition_offsets_list_s rd_kafka_share_partition_offsets_list_t
List of share consumer partition offsets.
Definition rdkafka.h:5502
rd_kafka_resp_err_t() rd_kafka_interceptor_f_on_consume_t(rd_kafka_t *rk, rd_kafka_message_t *rkmessage, void *ic_opaque)
on_consume() is called just prior to passing the message to the application in rd_kafka_consumer_poll...
Definition rdkafka.h:7606
RD_EXPORT rd_kafka_resp_err_t rd_kafka_AdminOptions_set_broker(rd_kafka_AdminOptions_t *options, int32_t broker_id, char *errstr, size_t errstr_size)
Override what broker the Admin request will be sent to.
RD_EXPORT const rd_kafka_Node_t * rd_kafka_DescribeCluster_result_controller(const rd_kafka_DescribeCluster_result_t *result)
Gets the current controller for the result cluster.
RD_EXPORT void rd_kafka_DeleteTopics(rd_kafka_t *rk, rd_kafka_DeleteTopic_t **del_topics, size_t del_topic_cnt, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
Delete topics from cluster as specified by the topics array of size topic_cnt elements.
RD_EXPORT const rd_kafka_AclOperation_t * rd_kafka_TopicDescription_authorized_operations(const rd_kafka_TopicDescription_t *topicdesc, size_t *cntp)
Gets the topic authorized ACL operations for the topicdesc topic.
RD_EXPORT const rd_kafka_DeleteGroups_result_t * rd_kafka_event_DeleteGroups_result(rd_kafka_event_t *rkev)
Get DeleteGroups result.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_last_error(void)
Returns the last error code generated by a legacy API call in the current thread.
RD_EXPORT const rd_kafka_ListConsumerGroupOffsets_result_t * rd_kafka_event_ListConsumerGroupOffsets_result(rd_kafka_event_t *rkev)
Get ListConsumerGroupOffsets result.
struct rd_kafka_AclBinding_s rd_kafka_AclBinding_t
ACL Binding is used to create access control lists.
Definition rdkafka.h:10850
rd_kafka_resp_err_t() rd_kafka_interceptor_f_on_thread_exit_t(rd_kafka_t *rk, rd_kafka_thread_type_t thread_type, const char *thread_name, void *ic_opaque)
on_thread_exit() is called just prior to a librdkafka-managed thread exiting from the exiting thread ...
Definition rdkafka.h:7753
RD_EXPORT const rd_kafka_DeleteAcls_result_t * rd_kafka_event_DeleteAcls_result(rd_kafka_event_t *rkev)
RD_EXPORT rd_kafka_resp_err_t rd_kafka_AdminOptions_set_validate_only(rd_kafka_AdminOptions_t *options, int true_or_false, char *errstr, size_t errstr_size)
Tell broker to only validate the request, without performing the requested operation (create topics,...
RD_EXPORT const char * rd_kafka_ConfigResource_error_string(const rd_kafka_ConfigResource_t *config)
RD_EXPORT size_t rd_kafka_share_partition_offsets_offsets_cnt(const rd_kafka_share_partition_offsets_t *partition_offsets)
Get the number of offsets in a partition offsets entry.
rd_kafka_ElectionType_t
Apache Kafka Election Types.
Definition rdkafka.h:11175
@ RD_KAFKA_ELECTION_TYPE_PREFERRED
Definition rdkafka.h:11176
@ RD_KAFKA_ELECTION_TYPE_UNCLEAN
Definition rdkafka.h:11177
rd_kafka_event_t rd_kafka_IncrementalAlterConfigs_result_t
Definition rdkafka.h:6977
RD_EXPORT rd_kafka_queue_t * rd_kafka_queue_get_background(rd_kafka_t *rk)
RD_EXPORT void rd_kafka_DescribeCluster(rd_kafka_t *rk, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
Describes the cluster.
RD_EXPORT int rd_kafka_TopicDescription_is_internal(const rd_kafka_TopicDescription_t *topicdesc)
Gets if the topicdesc topic is internal.
RD_EXPORT rd_kafka_error_t * rd_kafka_init_transactions(rd_kafka_t *rk, int timeout_ms)
Initialize transactions for the producer instance.
RD_EXPORT const rd_kafka_group_result_t ** rd_kafka_ListConsumerGroupOffsets_result_groups(const rd_kafka_ListConsumerGroupOffsets_result_t *result, size_t *cntp)
Get an array of results from a ListConsumerGroupOffsets result.
RD_EXPORT int64_t rd_kafka_ListOffsetsResultInfo_timestamp(const rd_kafka_ListOffsetsResultInfo_t *result_info)
Returns the timestamp corresponding to the offset in result_info.
RD_EXPORT int32_t rd_kafka_msg_partitioner_consistent_random(const rd_kafka_topic_t *rkt, const void *key, size_t keylen, int32_t partition_cnt, void *rkt_opaque, void *msg_opaque)
Consistent-Random partitioner.
RD_EXPORT rd_kafka_error_t * rd_kafka_send_offsets_to_transaction(rd_kafka_t *rk, const rd_kafka_topic_partition_list_t *offsets, const rd_kafka_consumer_group_metadata_t *cgmetadata, int timeout_ms)
Sends a list of topic partition offsets to the consumer group coordinator for cgmetadata,...
RD_EXPORT rd_kafka_Uuid_t * rd_kafka_Uuid_new(int64_t most_significant_bits, int64_t least_significant_bits)
Creates a new UUID.
RD_EXPORT const char * rd_kafka_group_result_name(const rd_kafka_group_result_t *groupres)
RD_EXPORT rd_kafka_queue_t * rd_kafka_queue_get_main(rd_kafka_t *rk)
RD_EXPORT const char * rd_kafka_MemberDescription_group_instance_id(const rd_kafka_MemberDescription_t *member)
Gets group instance id of member.
RD_EXPORT void rd_kafka_consumer_group_metadata_destroy(rd_kafka_consumer_group_metadata_t *)
Frees the consumer group metadata object as returned by rd_kafka_consumer_group_metadata().
struct rd_kafka_ListConsumerGroupOffsets_s rd_kafka_ListConsumerGroupOffsets_t
Definition rdkafka.h:10241
RD_EXPORT void rd_kafka_event_destroy(rd_kafka_event_t *rkev)
Destroy an event.
struct rd_kafka_MemberDescription_s rd_kafka_MemberDescription_t
Member description included in ConsumerGroupDescription.
Definition rdkafka.h:9867
RD_EXPORT rd_kafka_msg_status_t rd_kafka_message_status(const rd_kafka_message_t *rkmessage)
Returns the message's persistence status in the topic log.
RD_EXPORT const char * rd_kafka_error_name(const rd_kafka_error_t *error)
rd_kafka_event_t rd_kafka_DescribeUserScramCredentials_result_t
Definition rdkafka.h:6999
RD_EXPORT void rd_kafka_AclBinding_destroy_array(rd_kafka_AclBinding_t **acl_bindings, size_t acl_bindings_cnt)
Helper function to destroy all AclBinding objects in the acl_bindings array (of acl_bindings_cnt elem...
RD_EXPORT void rd_kafka_conf_destroy(rd_kafka_conf_t *conf)
Destroys a conf object.
RD_EXPORT const rd_kafka_MemberAssignment_t * rd_kafka_MemberDescription_assignment(const rd_kafka_MemberDescription_t *member)
Gets assignment of member.
RD_EXPORT void * rd_kafka_mem_malloc(rd_kafka_t *rk, size_t size)
Allocate memory using the same allocator librdkafka uses.
RD_EXPORT void rd_kafka_queue_yield(rd_kafka_queue_t *rkqu)
Cancels the current rd_kafka_queue_poll() on rkqu.
RD_EXPORT void rd_kafka_UserScramCredentialAlteration_destroy(rd_kafka_UserScramCredentialAlteration_t *alteration)
Destroys a UserScramCredentialAlteration given its pointer.
RD_EXPORT rd_kafka_error_t * rd_kafka_share_sasl_background_callbacks_enable(rd_kafka_share_t *rkshare)
Enable SASL background callbacks for a share consumer.
RD_EXPORT void rd_kafka_topic_partition_list_sort(rd_kafka_topic_partition_list_t *rktparlist, int(*cmp)(const void *a, const void *b, void *cmp_opaque), void *cmp_opaque)
Sort list using comparator cmp.
RD_EXPORT rd_kafka_ResourceType_t rd_kafka_AclBinding_restype(const rd_kafka_AclBinding_t *acl)
RD_EXPORT rd_kafka_resp_err_t rd_kafka_interceptor_add_on_send(rd_kafka_t *rk, const char *ic_name, rd_kafka_interceptor_f_on_send_t *on_send, void *ic_opaque)
Append an on_send() interceptor.
RD_EXPORT const int rd_kafka_TopicPartitionInfo_partition(const rd_kafka_TopicPartitionInfo_t *partition)
Gets the partition id for partition.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_commit_queue(rd_kafka_t *rk, const rd_kafka_topic_partition_list_t *offsets, rd_kafka_queue_t *rkqu, void(*cb)(rd_kafka_t *rk, rd_kafka_resp_err_t err, rd_kafka_topic_partition_list_t *offsets, void *commit_opaque), void *commit_opaque)
Commit offsets on broker for the provided list of partitions.
RD_EXPORT const rd_kafka_AclBinding_t ** rd_kafka_DescribeAcls_result_acls(const rd_kafka_DescribeAcls_result_t *result, size_t *cntp)
Get an array of resource results from a DescribeAcls result.
rd_kafka_timestamp_type_t
Definition rdkafka.h:220
@ RD_KAFKA_TIMESTAMP_NOT_AVAILABLE
Definition rdkafka.h:221
@ RD_KAFKA_TIMESTAMP_CREATE_TIME
Definition rdkafka.h:222
@ RD_KAFKA_TIMESTAMP_LOG_APPEND_TIME
Definition rdkafka.h:223
RD_EXPORT rd_kafka_resp_err_t rd_kafka_message_detach_headers(rd_kafka_message_t *rkmessage, rd_kafka_headers_t **hdrsp)
Get the message header list and detach the list from the message making the application the owner of ...
RD_EXPORT size_t rd_kafka_header_cnt(const rd_kafka_headers_t *hdrs)
Returns the number of header key/value pairs.
RD_EXPORT const char * rd_kafka_AclOperation_name(rd_kafka_AclOperation_t acl_operation)
RD_EXPORT void rd_kafka_DeleteGroups(rd_kafka_t *rk, rd_kafka_DeleteGroup_t **del_groups, size_t del_group_cnt, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
Delete groups from cluster as specified by the del_groups array of size del_group_cnt elements.
rd_kafka_AclBinding_t rd_kafka_AclBindingFilter_t
ACL Binding filter is used to filter access control lists.
Definition rdkafka.h:10856
RD_EXPORT const char * rd_kafka_message_produce_errstr(const rd_kafka_message_t *rkmessage)
Returns the error string for an errored produced rd_kafka_message_t or NULL if there was no error.
RD_EXPORT void rd_kafka_DeleteConsumerGroupOffsets(rd_kafka_t *rk, rd_kafka_DeleteConsumerGroupOffsets_t **del_grpoffsets, size_t del_grpoffsets_cnt, const rd_kafka_AdminOptions_t *options, rd_kafka_queue_t *rkqu)
Delete committed offsets for a set of partitions in a consumer group. This will succeed at the partit...
RD_EXPORT rd_kafka_ResourceType_t rd_kafka_ConfigResource_type(const rd_kafka_ConfigResource_t *config)
RD_EXPORT size_t rd_kafka_share_partition_offsets_list_count(const rd_kafka_share_partition_offsets_list_t *list)
Get the number of partitions in the offsets list.
RD_EXPORT rd_kafka_resp_err_t rd_kafka_ConfigResource_set_config(rd_kafka_ConfigResource_t *config, const char *name, const char *value)
Set configuration name value pair.
RD_EXPORT rd_kafka_topic_conf_t * rd_kafka_default_topic_conf_dup(rd_kafka_t *rk)
Creates a copy/duplicate of rk 's default topic configuration object.
rd_kafka_ScramMechanism_t
Apache Kafka ScramMechanism values.
Definition rdkafka.h:10611
RD_EXPORT const char * rd_kafka_name(const rd_kafka_t *rk)
Returns Kafka handle name.
rd_kafka_resp_err_t() rd_kafka_interceptor_f_on_conf_destroy_t(void *ic_opaque)
on_conf_destroy() is called from rd_kafka_*_conf_destroy() in the order the interceptors were added.
Definition rdkafka.h:7496
RD_EXPORT const rd_kafka_Node_t ** rd_kafka_DescribeCluster_result_nodes(const rd_kafka_DescribeCluster_result_t *result, size_t *cntp)
Gets the broker nodes for the result cluster.
RD_EXPORT int64_t rd_kafka_Uuid_least_significant_bits(const rd_kafka_Uuid_t *uuid)
Gets least significant 64 bits for the given UUID.
RD_EXPORT rd_kafka_share_t * rd_kafka_share_consumer_new(rd_kafka_conf_t *conf, char *errstr, size_t errstr_size)
Creates a new share consumer instance.
struct rd_kafka_MemberAssignment_s rd_kafka_MemberAssignment_t
Member assignment included in MemberDescription.
Definition rdkafka.h:9873
RD_EXPORT rd_kafka_ConfigSource_t rd_kafka_ConfigEntry_source(const rd_kafka_ConfigEntry_t *entry)
RD_EXPORT const rd_kafka_DescribeCluster_result_t * rd_kafka_event_DescribeCluster_result(rd_kafka_event_t *rkev)
Get DescribeCluster result.
Error code value, name and description. Typically for use with language bindings to automatically exp...
Definition rdkafka.h:713
const char * name
Definition rdkafka.h:715
rd_kafka_resp_err_t code
Definition rdkafka.h:714
const char * desc
Definition rdkafka.h:716
Group information.
Definition rdkafka.h:6330
struct rd_kafka_metadata_broker broker
Definition rdkafka.h:6331
int member_cnt
Definition rdkafka.h:6338
char * state
Definition rdkafka.h:6334
char * group
Definition rdkafka.h:6332
struct rd_kafka_group_member_info * members
Definition rdkafka.h:6337
char * protocol
Definition rdkafka.h:6336
char * protocol_type
Definition rdkafka.h:6335
rd_kafka_resp_err_t err
Definition rdkafka.h:6333
List of groups.
Definition rdkafka.h:6346
int group_cnt
Definition rdkafka.h:6348
struct rd_kafka_group_info * groups
Definition rdkafka.h:6347
Group member information.
Definition rdkafka.h:6288
char * member_id
Definition rdkafka.h:6289
int member_assignment_size
Definition rdkafka.h:6297
int member_metadata_size
Definition rdkafka.h:6294
void * member_metadata
Definition rdkafka.h:6292
char * client_host
Definition rdkafka.h:6291
void * member_assignment
Definition rdkafka.h:6295
char * client_id
Definition rdkafka.h:6290
A Kafka message as returned by the rd_kafka_consume*() family of functions as well as provided to the...
Definition rdkafka.h:1508
size_t key_len
Definition rdkafka.h:1521
size_t len
Definition rdkafka.h:1516
void * _private
Definition rdkafka.h:1531
void * key
Definition rdkafka.h:1519
int64_t offset
Definition rdkafka.h:1523
void * payload
Definition rdkafka.h:1512
int32_t partition
Definition rdkafka.h:1511
rd_kafka_topic_t * rkt
Definition rdkafka.h:1510
rd_kafka_resp_err_t err
Definition rdkafka.h:1509
Broker information.
Definition rdkafka.h:6143
int32_t id
Definition rdkafka.h:6144
int port
Definition rdkafka.h:6146
char * host
Definition rdkafka.h:6145
Partition information.
Definition rdkafka.h:6152
int32_t leader
Definition rdkafka.h:6155
int32_t * isrs
Definition rdkafka.h:6159
int replica_cnt
Definition rdkafka.h:6156
rd_kafka_resp_err_t err
Definition rdkafka.h:6154
int isr_cnt
Definition rdkafka.h:6158
int32_t id
Definition rdkafka.h:6153
int32_t * replicas
Definition rdkafka.h:6157
Metadata container.
Definition rdkafka.h:6176
int32_t orig_broker_id
Definition rdkafka.h:6183
char * orig_broker_name
Definition rdkafka.h:6184
int broker_cnt
Definition rdkafka.h:6177
struct rd_kafka_metadata_topic * topics
Definition rdkafka.h:6181
int topic_cnt
Definition rdkafka.h:6180
struct rd_kafka_metadata_broker * brokers
Definition rdkafka.h:6178
Topic information.
Definition rdkafka.h:6165
char * topic
Definition rdkafka.h:6166
struct rd_kafka_metadata_partition * partitions
Definition rdkafka.h:6168
rd_kafka_resp_err_t err
Definition rdkafka.h:6169
int partition_cnt
Definition rdkafka.h:6167
A growable list of Topic+Partitions.
Definition rdkafka.h:1019
int cnt
Definition rdkafka.h:1020
int size
Definition rdkafka.h:1021
rd_kafka_topic_partition_t * elems
Definition rdkafka.h:1022
Topic+Partition place holder.
Definition rdkafka.h:968
int64_t offset
Definition rdkafka.h:971
size_t metadata_size
Definition rdkafka.h:973
void * opaque
Definition rdkafka.h:974
char * topic
Definition rdkafka.h:969
void * metadata
Definition rdkafka.h:972
int32_t partition
Definition rdkafka.h:970
rd_kafka_resp_err_t err
Definition rdkafka.h:975
void * _private
Definition rdkafka.h:976
VTYPE + argument container for use with rd_kafka_produce_va()
Definition rdkafka.h:1212
rd_kafka_vtype_t vtype
Definition rdkafka.h:1213