@@ -623,6 +623,60 @@ impl OwnedMessage {
623
623
pub fn detach_headers ( & mut self ) -> Option < OwnedHeaders > {
624
624
self . headers . take ( )
625
625
}
626
+
627
+ /// Replaces the [`OwnedHeaders`] on this `OwnedMessage`.
628
+ pub fn replace_headers ( mut self , headers : Option < OwnedHeaders > ) -> Self {
629
+ if let Some ( headers) = headers {
630
+ self . headers . replace ( headers) ;
631
+ } else {
632
+ self . headers = None ;
633
+ }
634
+ self
635
+ }
636
+
637
+ /// Sets the payload for this `OwnedMessage`.
638
+ pub fn set_payload ( mut self , payload : Option < Vec < u8 > > ) -> Self {
639
+ if let Some ( payload) = payload {
640
+ self . payload . replace ( payload) ;
641
+ } else {
642
+ self . payload = None ;
643
+ }
644
+ self
645
+ }
646
+
647
+ /// Sets the key for this `OwnedMessage`.
648
+ pub fn set_key ( mut self , key : Option < Vec < u8 > > ) -> Self {
649
+ if let Some ( key) = key {
650
+ self . key . replace ( key) ;
651
+ } else {
652
+ self . key = None ;
653
+ }
654
+ self
655
+ }
656
+
657
+ /// Sets the topic for this `OwnedMessage`.
658
+ pub fn set_topic ( mut self , topic : String ) -> Self {
659
+ self . topic = topic;
660
+ self
661
+ }
662
+
663
+ /// Sets the timestamp for this `OwnedMessage`.
664
+ pub fn set_timestamp ( mut self , timestamp : Timestamp ) -> Self {
665
+ self . timestamp = timestamp;
666
+ self
667
+ }
668
+
669
+ /// Sets the partition for this `OwnedMessage`.
670
+ pub fn set_partition ( mut self , partition : i32 ) -> Self {
671
+ self . partition = partition;
672
+ self
673
+ }
674
+
675
+ /// Sets the offset for this `OwnedMessage`.
676
+ pub fn set_offset ( mut self , offset : i64 ) -> Self {
677
+ self . offset = offset;
678
+ self
679
+ }
626
680
}
627
681
628
682
impl Message for OwnedMessage {
0 commit comments