1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
/// Interface for working with sortable messages
pub trait Sortable {
    type Sort: Ord;

    /// Get message sort key. It's used for message prioritization in queue.
    ///
    /// ```
    /// use spartan_lib::core::message::builder::MessageBuilder;
    /// use spartan_lib::core::payload::Sortable;
    ///
    /// let message = MessageBuilder::default().body("Hello, world").compose().unwrap();
    ///
    /// dbg!(message.sort());
    /// ```
    fn sort(&self) -> Self::Sort;
}