1pub mod auth;
2pub mod backpressure;
3pub mod bloom;
4pub mod buffer_pool;
5pub mod concurrent;
6pub mod config;
7pub mod consumer_group;
8pub mod error;
9pub mod idempotent;
10pub mod io_uring;
11pub mod message;
12pub mod metrics;
13pub mod offset;
14pub mod partition;
15pub mod quota;
16pub mod serde_utils;
17pub mod service_auth;
18pub mod storage;
19pub mod topic;
20pub mod topic_config;
21pub mod transaction;
22pub mod validation;
23pub mod vectorized;
24pub mod wal;
25pub mod zero_copy;
26
27#[cfg(feature = "compression")]
28pub mod compression;
29
30pub mod async_io;
31
32#[cfg(feature = "encryption")]
34pub mod encryption;
35
36#[cfg(feature = "cedar")]
38pub mod cedar_authz;
39#[cfg(feature = "cedar")]
40pub use cedar_authz::{
41 AuthzContext, AuthzDecision, CedarAuthorizer, CedarError, CedarResult, RivvenAction,
42 RivvenResource,
43};
44
45#[cfg(feature = "oidc")]
47pub mod oidc;
48
49#[cfg(feature = "tls")]
51pub mod tls;
52
53pub use backpressure::{
54 AdaptiveRateLimiter, AdaptiveRateLimiterConfig, AdaptiveStatsSnapshot, BackpressureChannel,
55 ChannelStatsSnapshot, CircuitBreaker, CircuitBreakerConfig, CircuitBreakerStatsSnapshot,
56 CircuitState, CreditFlowControl, CreditStatsSnapshot, TokenBucket, TokenBucketStatsSnapshot,
57 WindowedRateTracker,
58};
59pub use bloom::{
60 AdaptiveBatcher, BatchConfig, BatcherStats, BloomFilter, CountingBloomFilter, HyperLogLog,
61 OffsetBloomFilter,
62};
63pub use buffer_pool::{BufferChain, BufferPool, BufferPoolConfig, PooledBuffer, SizeClass};
64pub use concurrent::{
65 AppendLogConfig, AppendOnlyLog, ConcurrentHashMap, ConcurrentSkipList, LockFreeQueue,
66 QueueStats,
67};
68pub use config::Config;
69pub use error::{Error, Result};
70pub use idempotent::{
71 IdempotentProducerManager, IdempotentProducerStats, PartitionProducerState, ProducerEpoch,
72 ProducerId, ProducerMetadata, SequenceNumber, SequenceResult, NO_SEQUENCE,
73};
74pub use message::Message;
75pub use offset::OffsetManager;
76pub use partition::Partition;
77pub use quota::{
78 EntityQuotaStats, QuotaConfig, QuotaEntity, QuotaEntityType, QuotaManager, QuotaResult,
79 QuotaStats, QuotaStatsSnapshot, QuotaType, DEFAULT_CONSUME_BYTES_RATE,
80 DEFAULT_PRODUCE_BYTES_RATE, DEFAULT_REQUEST_RATE, UNLIMITED,
81};
82pub use storage::{
83 ColdStorageBackend, ColdStorageConfig, HotTier, HotTierStats, LocalFsColdStorage,
84 SegmentMetadata, StorageTier, TieredStorage, TieredStorageConfig, TieredStorageStats,
85 TieredStorageStatsSnapshot, WarmTier, WarmTierStats,
86};
87pub use topic::{Topic, TopicManager};
88pub use topic_config::{
89 CleanupPolicy, CompressionType, ConfigValue, TopicConfig, TopicConfigManager,
90 DEFAULT_MAX_MESSAGE_BYTES, DEFAULT_RETENTION_BYTES, DEFAULT_RETENTION_MS,
91 DEFAULT_SEGMENT_BYTES, DEFAULT_SEGMENT_MS,
92};
93pub use transaction::{
94 AbortedTransaction, AbortedTransactionIndex, IsolationLevel, PendingWrite, Transaction,
95 TransactionCoordinator, TransactionId, TransactionMarker, TransactionOffsetCommit,
96 TransactionPartition, TransactionResult, TransactionState, TransactionStats,
97 TransactionStatsSnapshot, DEFAULT_TRANSACTION_TIMEOUT, MAX_PENDING_TRANSACTIONS,
98};
99pub use vectorized::{
100 BatchDecoder, BatchEncoder, BatchMessage, BatchProcessor, RecordBatch, RecordBatchIter,
101};
102pub use wal::{
103 GroupCommitWal, RecordType, SyncMode, WalConfig, WalReader, WalRecord, WalStatsSnapshot,
104};
105pub use zero_copy::{
106 BufferRef, BufferSlice, ConsumedMessage, SmallVec, ZeroCopyBuffer, ZeroCopyBufferPool,
107 ZeroCopyConsumer, ZeroCopyProducer,
108};
109
110pub use async_io::{AsyncFile, AsyncIo, AsyncIoConfig, AsyncSegment, BatchBuilder};
111pub use auth::{
112 AclEntry, AuthConfig, AuthError, AuthManager, AuthResult, AuthSession, PasswordHash,
113 Permission, Principal, PrincipalType, ResourceType, Role, SaslPlainAuth, SaslScramAuth,
114 ScramState,
115};
116pub use io_uring::{
117 is_io_uring_available, AsyncReader, AsyncWriter, BatchExecutor, BatchReadResult, BatchStats,
118 IoBatch, IoOperation, IoUringConfig, IoUringStats, IoUringStatsSnapshot, SegmentReader,
119 WalWriter,
120};
121pub use service_auth::{
122 ApiKey, AuthMethod, ServiceAccount, ServiceAuthConfig, ServiceAuthError, ServiceAuthManager,
123 ServiceAuthRequest, ServiceAuthResponse, ServiceAuthResult, ServiceSession,
124};
125pub use validation::{ValidationError, Validator};
126
127#[cfg(feature = "tls")]
129pub use tls::{
130 certificate_fingerprint, generate_self_signed, load_certificates, load_private_key,
131 CertificateSource, CertificateWatcher, MtlsMode, PrivateKeySource, TlsAcceptor,
132 TlsClientStream, TlsConfig, TlsConfigBuilder, TlsConnector, TlsError, TlsIdentity, TlsResult,
133 TlsSecurityAudit, TlsServerStream, TlsVersion,
134};