Struct rabbit_mqr::Queue
source · pub struct Queue {
pub name: String,
pub channel: Channel,
pub exchange: String,
pub routing_key: String,
}
Expand description
Represents a single Queue
Fields§
§name: String
§channel: Channel
§exchange: String
§routing_key: String
Implementations§
source§impl Queue
impl Queue
sourcepub async fn new(
name: &str,
channel: Channel,
options: Option<QueueDeclareOptions>,
arguments: Option<FieldTable>
) -> Result<Self, Error>
pub async fn new( name: &str, channel: Channel, options: Option<QueueDeclareOptions>, arguments: Option<FieldTable> ) -> Result<Self, Error>
Construct a Queue
Exchange is: "{name}_exchange"
Routing key is: "{name}_routing_key"
Example Usage:
let channel: Channel = ...;
let queue = Queue::new(
"my_queue",
channel,
None,
None,
).await?;
sourcepub async fn purge(&self, no_wait: bool) -> Result<MessageCount, Error>
pub async fn purge(&self, no_wait: bool) -> Result<MessageCount, Error>
Purge the Queue
, returns the amount of
messages deleted.
Example Usage:
let queue: Queue = ...;
let deleted_count: MessageCount = queue.purge(false).await?;
sourcepub async fn recover(&self, requeue: bool) -> Result<(), Error>
pub async fn recover(&self, requeue: bool) -> Result<(), Error>
Recover the Queue
.
Example Usage:
let queue: Queue = ...;
queue.recover(false).await?;
sourcepub async fn delete(
&self,
options: Option<QueueDeleteOptions>
) -> Result<MessageCount, Error>
pub async fn delete( &self, options: Option<QueueDeleteOptions> ) -> Result<MessageCount, Error>
Delete the Queue
, returns the amount of
messages deleted.
Example Usage:
let queue: Queue = ...;
let deleted_count: MessageCount = queue.purge(None).await?;
sourcepub async fn publish_message(
&self,
message: Vec<u8>,
properties: Option<BasicProperties>
) -> Result<(), Error>
pub async fn publish_message( &self, message: Vec<u8>, properties: Option<BasicProperties> ) -> Result<(), Error>
Publish a message
to the Queue
.
Example Usage:
let queue: Queue = ...;
let message = b"1337".to_vec();
queue.publish_message(message, None).await?;
sourcepub async fn get_message(&self) -> Result<Option<GetMessageResult>, Error>
pub async fn get_message(&self) -> Result<Option<GetMessageResult>, Error>
Get a single message from the Queue
.
Returns None
if there was no messages.
Example Usage:
let queue: Queue = ...;
while let Some(
GetMessageResult {
message,
delivery_tag,
}
) = queue.get_message.await? {
...
}
sourcepub async fn acknowledge_message(&self, delivery_tag: u64) -> Result<(), Error>
pub async fn acknowledge_message(&self, delivery_tag: u64) -> Result<(), Error>
Acknowledge a gotten message.
Example Usage:
let queue: Queue = ...;
while let Some(
GetMessageResult {
message,
delivery_tag,
}
) = queue.get_message.await? {
queue.acknowledge_message(delivery_tag).await?;
}
sourcepub async fn no_acknowledge_message(
&self,
requeue: bool,
delivery_tag: u64
) -> Result<(), Error>
pub async fn no_acknowledge_message( &self, requeue: bool, delivery_tag: u64 ) -> Result<(), Error>
No Acknowledge a gotten message.
Add requeue
to true
, to requeue
the message.
Example Usage:
let queue: Queue = ...;
while let Some(
GetMessageResult {
message,
delivery_tag,
}
) = queue.get_message.await? {
... Some issue processing the message
queue.no_acknowledge_message(true, delivery_tag).await?;
}
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Queue
impl !RefUnwindSafe for Queue
impl Send for Queue
impl Sync for Queue
impl Unpin for Queue
impl !UnwindSafe for Queue
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