Struct rdkafka::producer::BaseRecord
source · [−]pub struct BaseRecord<'a, K: ToBytes + ?Sized = (), P: ToBytes + ?Sized = (), D: IntoOpaque = ()> {
pub topic: &'a str,
pub partition: Option<i32>,
pub payload: Option<&'a P>,
pub key: Option<&'a K>,
pub timestamp: Option<i64>,
pub headers: Option<OwnedHeaders>,
pub delivery_opaque: D,
}Expand description
A record for the BaseProducer and ThreadedProducer.
The BaseRecord is a structure that can be used to provide a new record to
BaseProducer::send or ThreadedProducer::send. Since most fields are
optional, a BaseRecord can be constructed using the builder pattern.
Examples
This example will create a BaseRecord with no
DeliveryOpaque:
let record = BaseRecord::to("topic_name") // destination topic
.key(&[1, 2, 3, 4]) // message key
.payload("content") // message payload
.partition(5); // target partitionThe following example will build a similar record, but it will use a number
as the DeliveryOpaque for the message:
let record = BaseRecord::with_opaque_to("topic_name", 123) // destination topic and message id
.key(&[1, 2, 3, 4]) // message key
.payload("content") // message payload
.partition(5); // target partitionFields
topic: &'a strRequired destination topic.
partition: Option<i32>Optional destination partition.
payload: Option<&'a P>Optional payload.
key: Option<&'a K>Optional key.
timestamp: Option<i64>Optional timestamp.
Note that Kafka represents timestamps as the number of milliseconds since the Unix epoch.
headers: Option<OwnedHeaders>Optional message headers.
delivery_opaque: DRequired delivery opaque (defaults to () if not required).
Implementations
Creates a new record with the specified topic name and delivery opaque.
Sets the destination partition of the record.
Sets the payload of the record.
Sets the key of the record.
Sets the timestamp of the record.
Note that Kafka represents timestamps as the number of milliseconds since the Unix epoch.
Sets the headers of the record.
Creates a new record with the specified topic name.