From 5bf252a2ee4eed439552d2a3b3402425e8e4e463 Mon Sep 17 00:00:00 2001 From: Dimitri Sabadie Date: Mon, 20 Sep 2021 13:11:17 +0200 Subject: [PATCH] Add support for writing commit metadata. --- src/topic_partition_list.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/topic_partition_list.rs b/src/topic_partition_list.rs index 588d2a0fd..cd0e94fb5 100644 --- a/src/topic_partition_list.rs +++ b/src/topic_partition_list.rs @@ -141,6 +141,17 @@ impl<'a> TopicPartitionListElem<'a> { let slice: &[u8] = unsafe { ptr_to_slice(self.ptr.metadata, self.ptr.metadata_size) }; from_utf8(slice).map_err(|_| KafkaError::NonUTF8CommitMetadata) } + + /// Set the metadata. + pub fn set_metadata(&mut self, metadata: impl AsRef) { + let metadata = metadata.as_ref(); + + unsafe { + self.ptr.metadata = + libc::strndup(metadata.as_ptr() as *const _, metadata.len()) as *mut _; + self.ptr.metadata_size = libc::strlen(self.ptr.metadata as *const _); + } + } } impl<'a> PartialEq for TopicPartitionListElem<'a> {