pub struct Queue<T>{ /* private fields */ }
aq_unstable
only.Expand description
Advanced Queueing (AQ) queue which may be used to enqueue and dequeue messages
Warning: The type is unstable. It may be changed incompatibly by minor version upgrades.
Implementations§
Source§impl<T> Queue<T>
impl<T> Queue<T>
Sourcepub fn new(
conn: &Connection,
queue_name: &str,
payload_type: &T::TypeInfo,
) -> Result<Queue<T>>
pub fn new( conn: &Connection, queue_name: &str, payload_type: &T::TypeInfo, ) -> Result<Queue<T>>
Creates a new queue which may be used to enqueue and dequeue messages from Advanced Queuing (AQ) queues.
Sourcepub fn dequeue_many(&self, max_size: u32) -> Result<Vec<MsgProps<T>>>
pub fn dequeue_many(&self, max_size: u32) -> Result<Vec<MsgProps<T>>>
Dequeues multiple messages from the queue.
Sourcepub fn enqueue(&self, props: &MsgProps<T>) -> Result<()>
pub fn enqueue(&self, props: &MsgProps<T>) -> Result<()>
Enqueues a single mesasge into the queue.
Sourcepub fn enqueue_many<'a, I>(&'a self, props: I) -> Result<()>where
I: IntoIterator<Item = &'a MsgProps<T>>,
pub fn enqueue_many<'a, I>(&'a self, props: I) -> Result<()>where
I: IntoIterator<Item = &'a MsgProps<T>>,
Enqueues multiple messages into the queue.
Warning: calling this function in parallel on different connections
acquired from the same pool may fail due to Oracle bug 29928074. Ensure
that this function is not run in parallel, use standalone connections or
connections from different pools, or make multiple calls to
Queue.enqueue
instead. The function Queue.dequeue_many
call is not affected.
Sourcepub fn deq_options(&mut self) -> Result<&mut DeqOptions>
pub fn deq_options(&mut self) -> Result<&mut DeqOptions>
Returns a reference to the dequeue options associated with the queue. These options affect how messages are dequeued.
Sourcepub fn enq_options(&mut self) -> Result<&mut EnqOptions>
pub fn enq_options(&mut self) -> Result<&mut EnqOptions>
Returns a reference to the enqueue options associated with the queue. These options affect how messages are enqueued.