Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Fede1024 Rust rdkafka Crate Root

From Leeroopedia


Knowledge Sources
Domains Crate_Architecture, API_Surface, Documentation
Last Updated 2026-02-07 19:00 GMT

Overview

Crate root for the rdkafka library that declares all public modules, re-exports key types, and provides comprehensive crate-level documentation for the fully asynchronous Apache Kafka client.

Description

The rdkafka crate root (src/lib.rs) is the top-level entry point that organizes the entire public API surface. It declares 13 public modules (admin, client, config, consumer, error, groups, message, metadata, mocking, producer, statistics, topic_partition_list, util) and one private module (log). It re-exports frequently used types at the crate root: ClientContext, ClientConfig, Message, Timestamp, Statistics, Offset, TopicPartitionList, and IntoOpaque. The file enforces #![forbid(missing_docs)] and #![deny(rust_2018_idioms)]. The module documentation covers library features, supported Kafka versions, client types, async runtime integration, MSRV, and feature flags.

Usage

This is the entry point for all users of the rust-rdkafka library. Add rdkafka as a dependency in Cargo.toml and use the re-exported types and modules. Most users start with use rdkafka::ClientConfig to build a producer or consumer.

Code Reference

Source Location

Signature

#![forbid(missing_docs)]
#![deny(rust_2018_idioms)]

pub mod admin;
pub mod client;
pub mod config;
pub mod consumer;
pub mod error;
pub mod groups;
pub mod message;
pub mod metadata;
pub mod mocking;
pub mod producer;
pub mod statistics;
pub mod topic_partition_list;
pub mod util;

pub use crate::client::ClientContext;
pub use crate::config::ClientConfig;
pub use crate::message::{Message, Timestamp};
pub use crate::statistics::Statistics;
pub use crate::topic_partition_list::{Offset, TopicPartitionList};
pub use crate::util::IntoOpaque;

Import

// Most common imports
use rdkafka::ClientConfig;
use rdkafka::Message;
use rdkafka::consumer::{StreamConsumer, Consumer};
use rdkafka::producer::FutureProducer;

I/O Contract

Inputs

Name Type Required Description
Cargo features Feature flags No tokio (default), cmake-build, dynamic-linking, ssl, gssapi, etc.

Outputs

Name Type Description
Public modules 13 modules admin, client, config, consumer, error, groups, message, metadata, mocking, producer, statistics, topic_partition_list, util
Re-exports 7 key types ClientContext, ClientConfig, Message, Timestamp, Statistics, Offset, TopicPartitionList, IntoOpaque

Usage Examples

Adding rdkafka as Dependency

[dependencies]
rdkafka = { version = "0.36", features = ["cmake-build"] }

Basic Import Pattern

use rdkafka::ClientConfig;
use rdkafka::consumer::{StreamConsumer, Consumer};
use rdkafka::producer::FutureProducer;
use rdkafka::Message;

// Create a consumer
let consumer: StreamConsumer = ClientConfig::new()
    .set("bootstrap.servers", "localhost:9092")
    .set("group.id", "my-group")
    .create()
    .expect("Consumer creation failed");

// Create a producer
let producer: FutureProducer = ClientConfig::new()
    .set("bootstrap.servers", "localhost:9092")
    .create()
    .expect("Producer creation failed");

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment