pub struct KafkaProducer { /* private fields */ }Expand description
A Producer that can be use to publish messages to kafka
Implementations§
Source§impl KafkaProducer
impl KafkaProducer
Sourcepub fn from(
bootstrap_servers: &str,
queue_timeout_secs: u64,
) -> Result<Self, KafkaError>
pub fn from( bootstrap_servers: &str, queue_timeout_secs: u64, ) -> Result<Self, KafkaError>
Creates a KakfkaProducer from a bootstrap_servers string
§Arguments
bootstrap_servers- Comma separated bootstrap serversqueue_timeout_secs- Queue timeout in seconds
§Returns
KafkaProducer- A KafkaProducer that can be used to publish messages to kafka
§Example
use simple_kafka::KafkaProducer;
let producer = KafkaProducer::from("localhost:9092").unwrap();pub fn with_options( producer_options: ProducerOptiopns<'_>, ) -> Result<Self, KafkaError>
Sourcepub async fn produce<T: Serialize + Debug>(
&self,
message: Message<T>,
) -> Result<(), KafkaError>
pub async fn produce<T: Serialize + Debug>( &self, message: Message<T>, ) -> Result<(), KafkaError>
Publishes a message to a topic
§Arguments
message- A Message struct that holds the topic, headers, data and key
§Example
use simple_kafka::{KafkaProducer, Message};
#[derive(Serialize, Deserialize, Debug)]
struct Data {
attra_one: String,
attra_two: i8,
}
let producer = KafkaProducer::from("localhost:9092").unwrap();
let data = Data {
attra_one: "123".to_string(),
attra_two: 12,
};
let data = Message::new("topic".to_string(), HashMap::new(), data, "key".to_string());
let result = producer.produce(data).await;Auto Trait Implementations§
impl Freeze for KafkaProducer
impl !RefUnwindSafe for KafkaProducer
impl Send for KafkaProducer
impl Sync for KafkaProducer
impl Unpin for KafkaProducer
impl !UnwindSafe for KafkaProducer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more