#![doc = include_str!("../README.md")]
#![forbid(unsafe_code)]
#![warn(missing_docs)]
pub mod admin;
pub mod client;
pub mod config;
pub mod consumer;
pub mod error;
pub mod group;
pub mod metrics;
pub mod producer;
pub mod share_consumer;
pub mod streams;
pub mod telemetry;
mod scram;
pub use admin::{
AclBinding, AclFilter, AclOperation, AclPatternType, AclPermissionType, AclResourceType,
AddRaftVoterOptions, AdminClient, AlterClientQuotaEntryResult, AlterClientQuotasResult,
AlterConfigResourceResult, AlterConfigsOptions, AlterConfigsResult,
AlterConsumerGroupOffsetsPartitionResult, AlterConsumerGroupOffsetsResult,
AlterConsumerGroupOffsetsTopicResult, AlterPartitionReassignmentResult,
AlterPartitionReassignmentTopicResult, AlterPartitionReassignmentsResult,
AlterReplicaLogDirsPartitionResult, AlterReplicaLogDirsResult, AlterReplicaLogDirsTopicResult,
AlterScramCredentialResult, AlterShareGroupOffsetsPartitionResult,
AlterShareGroupOffsetsResult, AlterShareGroupOffsetsTopicResult,
AlterUserScramCredentialsResult, BrokerDescription, ClientQuotaAlteration, ClientQuotaEntity,
ClientQuotaEntityComponent, ClientQuotaFilter, ClientQuotaFilterComponent,
ClientQuotaMatchType, ClientQuotaOperation, ClientQuotaValue, ClusterDescription,
ConfigAlterOperation, ConfigAlterOperationKind, ConfigEntry, ConfigResourceResult,
ConfigResourceType, ConfigSource, ConfigSynonym, ConsumerGroupDescription, ConsumerGroupMember,
ConsumerGroupOffset, ConsumerGroupOffsetDelete, ConsumerGroupOffsetPartitionResult,
ConsumerGroupOffsetQuery, ConsumerGroupOffsetTopicResult, CreateAclsEntryResult,
CreateAclsResult, CreateDelegationTokenOptions, CreatePartitionsOptions,
CreatePartitionsResult, CreatePartitionsTopicResult, CreateTopicResult, CreateTopicsOptions,
CreateTopicsResult, CreatedDelegationToken, DelegationTokenOperationResult,
DelegationTokenPrincipal, DeleteAclsFilterResult, DeleteAclsResult,
DeleteConsumerGroupOffsetsPartitionResult, DeleteConsumerGroupOffsetsResult,
DeleteConsumerGroupOffsetsTopicResult, DeleteConsumerGroupResult, DeleteRecordsOptions,
DeleteRecordsPartition, DeleteRecordsPartitionResult, DeleteRecordsResult, DeleteRecordsTopic,
DeleteRecordsTopicResult, DeleteShareGroupOffsetsResult, DeleteShareGroupOffsetsTopicResult,
DeleteShareGroupResult, DeleteTopicResult, DeleteTopicsOptions, DeleteTopicsResult,
DeletedAclResult, DescribeAclsResult, DescribeClientQuotasResult, DescribeClusterEndpointType,
DescribeClusterOptions, DescribeConfigsOptions, DescribeConfigsResult,
DescribeDelegationTokensResult, DescribeLogDirsBrokerResult, DescribeProducersActiveProducer,
DescribeProducersPartitionResult, DescribeProducersResult, DescribeProducersTopic,
DescribeProducersTopicResult, DescribeQuorumListener, DescribeQuorumNode,
DescribeQuorumPartitionResult, DescribeQuorumReplicaState, DescribeQuorumResult,
DescribeQuorumTopic, DescribeQuorumTopicResult, DescribeTopicPartitionsCursor,
DescribeTopicPartitionsOptions, DescribeTopicPartitionsPartition,
DescribeTopicPartitionsResult, DescribeTopicPartitionsTopic, DescribeTransactionsResult,
DescribeUserScramCredentialsResult, DescribedDelegationTokenResult, ElectLeadersOptions,
ElectLeadersPartitionResult, ElectLeadersResult, ElectLeadersTopicResult, ElectionType,
FeatureMetadata, FeatureUpdate, FeatureUpdateResult, FeatureUpgradeType, FinalizedFeature,
GroupListing, LeaderElection, ListConfigResourcesOptions, ListConfigResourcesResult,
ListConsumerGroupOffsetsResult, ListGroupsOptions, ListPartitionReassignmentsResult,
ListShareGroupOffsetsResult, ListTransactionsOptions, ListTransactionsResult,
ListedConfigResource, ListedTransaction, LogDirTopic, LogDirectoryPartitionResult,
LogDirectoryResult, LogDirectoryTopicResult, ModernConsumerGroupAssignment,
ModernConsumerGroupDescription, ModernConsumerGroupMember, ModernConsumerGroupTopicPartitions,
NewPartitions, NewTopic, OngoingPartitionReassignment, OngoingPartitionReassignmentTopic,
PartitionReassignment, PartitionReassignmentOptions, PartitionReassignmentPartition,
PartitionReassignmentQuery, RaftVoterListener, RaftVoterResult,
ReadShareGroupStatePartitionResult, ReadShareGroupStateResult,
ReadShareGroupStateSummaryPartitionResult, ReadShareGroupStateSummaryResult,
ReadShareGroupStateSummaryTopicResult, ReadShareGroupStateTopicResult, RemoveRaftVoterOptions,
ReplicaLogDirAssignment, ScramCredentialDeletion, ScramCredentialInfo,
ScramCredentialMechanism, ScramCredentialUpsertion, ScramUserCredentials, ShareGroupAssignment,
ShareGroupDescription, ShareGroupMember, ShareGroupOffset, ShareGroupOffsetPartitionResult,
ShareGroupOffsetQuery, ShareGroupOffsetTopicResult, ShareGroupStateBatch,
ShareGroupStateDeleteTopic, ShareGroupStateInitializePartition, ShareGroupStateInitializeTopic,
ShareGroupStatePartitionResult, ShareGroupStateReadPartition, ShareGroupStateReadTopic,
ShareGroupStateResult, ShareGroupStateTopicResult, ShareGroupStateWritePartition,
ShareGroupStateWriteTopic, ShareGroupTopicPartitions, StreamsGroupAssignment,
StreamsGroupDescription, StreamsGroupEndpoint, StreamsGroupKeyValue, StreamsGroupMember,
StreamsGroupSubtopology, StreamsGroupTask, StreamsGroupTaskOffset, StreamsGroupTopic,
StreamsGroupTopicConfig, StreamsGroupTopology, SupportedFeature, TopicConfigAlteration,
TopicConfigResource, TopicConfigUpdate, TopicConfigUpdateEntry, TopicListing,
TransactionDescription, TransactionDescriptionTopic, UnregisterBrokerResult,
UpdateFeaturesOptions, UpdateFeaturesResult,
};
pub use client::Client;
pub use config::{
ClientConfig, OAuthBearerTokenFuture, OAuthBearerTokenProvider, SaslCredentials, SaslMechanism,
SecurityProtocol,
};
pub use consumer::{
Consumer, ConsumerAssignment, ConsumerConfig, ConsumerPartitionQueue, ConsumerRecord,
ConsumerRecordHeader, IsolationLevel, LeaderEpochOffset, OffsetResetPolicy,
PartitionWatermarks,
};
pub use error::{BrokerErrorKind, Error, Result};
pub use group::{
ConsumerGroup, ConsumerGroupAssignmentStrategy, ConsumerGroupCommitWorker, ConsumerGroupConfig,
ConsumerGroupHeartbeat, ConsumerGroupMetadata, ConsumerGroupProtocol, RebalanceEvent,
RebalanceListener, RebalancePhase,
};
pub use kafrust_protocol as protocol;
pub use metrics::{ClientMetrics, ClientMetricsSnapshot};
pub use producer::{
Acks, BufferedProducer, BufferedProducerHandle, Compression, Header, Partitioner,
ProducerBatchFailure, ProducerBatchRecordOutcome, ProducerBatchReport, ProducerConfig,
ProducerDelivery, ProducerRecord, RecordMetadata, TransactionStatus,
};
pub use share_consumer::{
ShareAcknowledgementMode, ShareAcknowledgementType, ShareAcquireMode, ShareConsumer,
ShareConsumerConfig, ShareConsumerHeartbeat, ShareRecord,
};
pub use streams::{StreamsGroupConfig, StreamsGroupSession, StreamsGroupSessionAssignment};
#[cfg(feature = "otlp")]
pub use telemetry::ClientMetricsTelemetryProvider;
pub use telemetry::{
TelemetryClient, TelemetryConfig, TelemetryMetricsProvider, TelemetryPushSummary,
TelemetrySubscription,
};
pub fn version() -> &'static str {
env!("CARGO_PKG_VERSION")
}
#[cfg(test)]
mod tests {
#[test]
fn exposes_crate_version() {
assert_eq!(crate::version(), env!("CARGO_PKG_VERSION"));
}
}