Struct rabbit_mqr::RabbitMQ
source · pub struct RabbitMQ {
pub queues: HashMap<String, Queue>,
pub connection: Connection,
}
Expand description
Simplified RabbitMQ client
Example Usage:
let mut rabbit_mq = RabbitMQ::new("amqp://guest:guest@localhost:5672/%2f", None).await?;
rabbit_mq.register_queue("test_queue", None, None).await?;
rabbit_mq.publish_message("test_queue", b"1337".to_vec(), None).await?;
if let Some(test_queue) = rabbit_mq.get_queue("test_queue") {
while let Some(GetMessageResult {
message,
delivery_tag,
}) = test_queue.get_message().await? {
...
}
Fields§
§queues: HashMap<String, Queue>
§connection: Connection
Implementations§
source§impl RabbitMQ
impl RabbitMQ
sourcepub async fn new(
uri: &str,
options: Option<ConnectionProperties>
) -> Result<Self, Error>
pub async fn new( uri: &str, options: Option<ConnectionProperties> ) -> Result<Self, Error>
Construct the RabbitMQ
client.
Example Usage:
let rabbit_mq = RabbitMQ::new("amqp://guest:guest@localhost:5672/", None).await?;
sourcepub async fn register_queue(
&mut self,
queue_name: &str,
options: Option<QueueDeclareOptions>,
arguments: Option<FieldTable>
) -> Result<(), Error>
pub async fn register_queue( &mut self, queue_name: &str, options: Option<QueueDeclareOptions>, arguments: Option<FieldTable> ) -> Result<(), Error>
Register a Queue
.
Example Usage:
let mut rabbit_mq = ...;
rabbit_mq.register_queue("my_queue", None, None).await?;
sourcepub fn get_queue(&self, queue_name: &str) -> Option<&Queue>
pub fn get_queue(&self, queue_name: &str) -> Option<&Queue>
Get a &Queue
.
Returns None
if the Queue
was not found.
Example Usage:
let mut rabbit_mq = ...;
let queue: Option<&Queue> = rabbit_mq.get_queue("my_queue").await?;
sourcepub async fn publish_message(
&self,
queue_name: &str,
message: Vec<u8>,
properties: Option<BasicProperties>
) -> Result<Option<()>, Error>
pub async fn publish_message( &self, queue_name: &str, message: Vec<u8>, properties: Option<BasicProperties> ) -> Result<Option<()>, Error>
Publish a message to a Queue
.
Returns None
if the Queue
was not found.
Example Usage:
let mut rabbit_mq = ...;
let message = b"1337".to_vec();
rabbit_mq.publish_message(
"my_queue",
&message,
None
).await?;
sourcepub async fn publish_messages_unchecked(
&self,
queue_name: &str,
messages: Vec<Vec<u8>>,
properties: Option<BasicProperties>
) -> Option<()>
pub async fn publish_messages_unchecked( &self, queue_name: &str, messages: Vec<Vec<u8>>, properties: Option<BasicProperties> ) -> Option<()>
Publish a batch messages to a Queue
, unchecked.
Meaning, does not handle errors, just attempts
to post all messages in the list to the Queue
.
Returns None
if the Queue
was not found.
Example Usage:
let mut rabbit_mq = ...;
let messages = vec![
...
];
rabbit_mq.publish_messages_unchecked(
"my_queue",
messages,
None
).await;
Auto Trait Implementations§
impl !RefUnwindSafe for RabbitMQ
impl Send for RabbitMQ
impl Sync for RabbitMQ
impl Unpin for RabbitMQ
impl !UnwindSafe for RabbitMQ
Blanket Implementations§
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