Skip to content

Commit 473f8ff

Browse files
committed
Add admin API client
Fix fede1024#92.
1 parent 70f6125 commit 473f8ff

File tree

11 files changed

+1780
-2
lines changed

11 files changed

+1780
-2
lines changed

Cargo.toml

+2
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,12 @@ serde_derive = "1.0.0"
2020
serde_json = "1.0.0"
2121

2222
[dev-dependencies]
23+
backoff = "0.1.5"
2324
chrono = "0.4.0"
2425
clap = "2.18.0"
2526
env_logger = "0.3.0"
2627
rand = "0.3.15"
28+
regex = "1.1.6"
2729
tokio = "0.1.7"
2830

2931
[features]

docker-compose.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ services:
1111
volumes:
1212
- .:/mount
1313
command: ./run_tests.sh
14+
environment:
15+
- KAFKA_VERSION=2.2.0
1416

1517
kafka:
1618
image: confluentinc/cp-kafka:5.2.1

rdkafka-sys/build.rs

+3
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,9 @@ fn main() {
7373
.rustified_enum("rd_kafka_conf_res_t")
7474
.rustified_enum("rd_kafka_resp_err_t")
7575
.rustified_enum("rd_kafka_timestamp_type_t")
76+
.rustified_enum("rd_kafka_admin_op_t")
77+
.rustified_enum("rd_kafka_ResourceType_t")
78+
.rustified_enum("rd_kafka_ConfigSource_t")
7679
.generate()
7780
.expect("failed to generate bindings");
7881

rdkafka-sys/src/types.rs

+33
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,30 @@ pub type RDKafkaGroupMemberInfo = bindings::rd_kafka_group_member_info;
5555
/// Native rdkafka group member information
5656
pub type RDKafkaHeaders = bindings::rd_kafka_headers_t;
5757

58+
/// Native rdkafka queue
59+
pub type RDKafkaQueue = bindings::rd_kafka_queue_t;
60+
61+
// Native rdkafka new topic object
62+
pub type RDKafkaNewTopic = bindings::rd_kafka_NewTopic_t;
63+
64+
// Native rdkafka delete topic object
65+
pub type RDKafkaDeleteTopic = bindings::rd_kafka_DeleteTopic_t;
66+
67+
// Native rdkafka new partitions object
68+
pub type RDKafkaNewPartitions = bindings::rd_kafka_NewPartitions_t;
69+
70+
// Native rdkafka config resource
71+
pub type RDKafkaConfigResource = bindings::rd_kafka_ConfigResource_t;
72+
73+
// Native rdkafka event
74+
pub type RDKafkaEvent = bindings::rd_kafka_event_t;
75+
76+
// Native rdkafka admin options
77+
pub type RDKafkaAdminOptions = bindings::rd_kafka_AdminOptions_t;
78+
79+
// Native rdkafka topic result
80+
pub type RDKafkaTopicResult = bindings::rd_kafka_topic_result_t;
81+
5882
// ENUMS
5983

6084
/// Client types
@@ -66,6 +90,15 @@ pub use bindings::rd_kafka_conf_res_t as RDKafkaConfRes;
6690
/// Response error
6791
pub use bindings::rd_kafka_resp_err_t as RDKafkaRespErr;
6892

93+
/// Admin operation
94+
pub use bindings::rd_kafka_admin_op_t as RDKafkaAdminOp;
95+
96+
/// Config resource type
97+
pub use bindings::rd_kafka_ResourceType_t as RDKafkaResourceType;
98+
99+
/// Config source
100+
pub use bindings::rd_kafka_ConfigSource_t as RDKafkaConfigSource;
101+
69102
/// Errors enum
70103
71104
/// Error from the underlying rdkafka library.

0 commit comments

Comments
 (0)