[][src]Trait spartan_lib::core::payload::Status

pub trait Status: Dispatchable {
    pub fn requeue(&mut self);
pub fn reserve(&mut self);
pub fn requeueable(&self) -> bool;
pub fn reservable(&self) -> bool;
pub fn has_tries(&self) -> bool; }

Interface for interacting with message status

Required methods

pub fn requeue(&mut self)[src]

Change message status to available

use spartan_lib::core::message::builder::MessageBuilder;
use spartan_lib::core::payload::Status;

let mut message = MessageBuilder::default().body("Hello, world").compose().unwrap();

message.requeue();

pub fn reserve(&mut self)[src]

Change message status to "in transit"

Also, default message implementation increments counter of tries

use spartan_lib::core::message::builder::MessageBuilder;
use spartan_lib::core::payload::Status;

let mut message = MessageBuilder::default().body("Hello, world").compose().unwrap();

message.reserve();

pub fn requeueable(&self) -> bool[src]

Check if message can be requeued

use spartan_lib::core::message::builder::MessageBuilder;
use spartan_lib::core::payload::Status;

let mut message = MessageBuilder::default().body("Hello, world").compose().unwrap();

assert!(!message.requeueable());

pub fn reservable(&self) -> bool[src]

Check if message can be reserved

use spartan_lib::core::message::builder::MessageBuilder;
use spartan_lib::core::payload::Status;

let mut message = MessageBuilder::default().body("Hello, world").compose().unwrap();

assert!(message.reservable());

pub fn has_tries(&self) -> bool[src]

Check if message has available tries

This method was added to help TreeDatabase correctly identify if message can be reserved later.

use spartan_lib::core::message::builder::MessageBuilder;
use spartan_lib::core::payload::Status;

let mut message = MessageBuilder::default().body("Hello, world").compose().unwrap();

assert!(message.has_tries());

message.reserve();

assert!(!message.has_tries());
Loading content...

Implementors

impl Status for Message[src]

Loading content...