pub struct DeduplicatedMessage {
pub message_id: MessageId,
pub content_hash: ContentHash,
pub custom_key: Option<String>,
pub payload: Vec<u8>,
pub headers: HashMap<String, String>,
pub timestamp: DateTime<Utc>,
pub ttl: Option<Duration>,
}Expand description
Message with deduplication metadata
Fields§
§message_id: MessageId§content_hash: ContentHash§custom_key: Option<String>§payload: Vec<u8>§headers: HashMap<String, String>§timestamp: DateTime<Utc>§ttl: Option<Duration>Implementations§
Source§impl DeduplicatedMessage
impl DeduplicatedMessage
pub fn new(payload: Vec<u8>) -> Self
pub fn with_message_id(self, message_id: MessageId) -> Self
pub fn with_custom_key(self, key: String) -> Self
pub fn with_header(self, key: String, value: String) -> Self
pub fn with_ttl(self, ttl: Duration) -> Self
Sourcepub fn get_dedup_key(&self, strategy: &DeduplicationStrategy) -> String
pub fn get_dedup_key(&self, strategy: &DeduplicationStrategy) -> String
Get deduplication key based on strategy
Sourcepub fn is_expired(&self) -> bool
pub fn is_expired(&self) -> bool
Check if message has expired based on TTL
Trait Implementations§
Source§impl Clone for DeduplicatedMessage
impl Clone for DeduplicatedMessage
Source§fn clone(&self) -> DeduplicatedMessage
fn clone(&self) -> DeduplicatedMessage
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DeduplicatedMessage
impl Debug for DeduplicatedMessage
Source§impl<'de> Deserialize<'de> for DeduplicatedMessage
impl<'de> Deserialize<'de> for DeduplicatedMessage
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for DeduplicatedMessage
impl RefUnwindSafe for DeduplicatedMessage
impl Send for DeduplicatedMessage
impl Sync for DeduplicatedMessage
impl Unpin for DeduplicatedMessage
impl UnwindSafe for DeduplicatedMessage
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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