pub trait RsmqConnectionSync {
// Required methods
fn change_message_visibility(
&mut self,
qname: &str,
message_id: &str,
hidden: Duration,
) -> RsmqResult<()>;
fn create_queue(
&mut self,
qname: &str,
hidden: Option<Duration>,
delay: Option<Duration>,
maxsize: Option<i32>,
) -> RsmqResult<()>;
fn delete_message(&mut self, qname: &str, id: &str) -> RsmqResult<bool>;
fn delete_queue(&mut self, qname: &str) -> RsmqResult<()>;
fn get_queue_attributes(
&mut self,
qname: &str,
) -> RsmqResult<RsmqQueueAttributes>;
fn list_queues(&mut self) -> RsmqResult<Vec<String>>;
fn pop_message<E: TryFrom<RedisBytes, Error = Vec<u8>>>(
&mut self,
qname: &str,
) -> RsmqResult<Option<RsmqMessage<E>>>;
fn receive_message<E: TryFrom<RedisBytes, Error = Vec<u8>>>(
&mut self,
qname: &str,
hidden: Option<Duration>,
) -> RsmqResult<Option<RsmqMessage<E>>>;
fn send_message<E: Into<RedisBytes> + Send>(
&mut self,
qname: &str,
message: E,
delay: Option<Duration>,
) -> RsmqResult<String>;
fn set_queue_attributes(
&mut self,
qname: &str,
hidden: Option<Duration>,
delay: Option<Duration>,
maxsize: Option<i64>,
) -> RsmqResult<RsmqQueueAttributes>;
}Required Methods§
Sourcefn change_message_visibility(
&mut self,
qname: &str,
message_id: &str,
hidden: Duration,
) -> RsmqResult<()>
fn change_message_visibility( &mut self, qname: &str, message_id: &str, hidden: Duration, ) -> RsmqResult<()>
Change the hidden time of a already sent message.
§Arguments
qname- Name of the queuemessage_id- ID of the message to modifyhidden- New hidden duration. Has a max time of 9_999_999 for compatibility reasons with the JS version
Sourcefn create_queue(
&mut self,
qname: &str,
hidden: Option<Duration>,
delay: Option<Duration>,
maxsize: Option<i32>,
) -> RsmqResult<()>
fn create_queue( &mut self, qname: &str, hidden: Option<Duration>, delay: Option<Duration>, maxsize: Option<i32>, ) -> RsmqResult<()>
Creates a new queue. Attributes can be later modified with “set_queue_attributes” method
§Arguments
qname- Name of the queue to createhidden- Time the messages will be hidden when received. Max 9_999_999delay- Time messages will be delayed before deliverymaxsize- Maximum message size in bytes (1024-65536 or -1 for unlimited)
Sourcefn delete_message(&mut self, qname: &str, id: &str) -> RsmqResult<bool>
fn delete_message(&mut self, qname: &str, id: &str) -> RsmqResult<bool>
Deletes a message from the queue.
Important to use when you are using receive_message.
§Arguments
qname- Name of the queueid- ID of the message to delete
Sourcefn delete_queue(&mut self, qname: &str) -> RsmqResult<()>
fn delete_queue(&mut self, qname: &str) -> RsmqResult<()>
Sourcefn get_queue_attributes(
&mut self,
qname: &str,
) -> RsmqResult<RsmqQueueAttributes>
fn get_queue_attributes( &mut self, qname: &str, ) -> RsmqResult<RsmqQueueAttributes>
Sourcefn list_queues(&mut self) -> RsmqResult<Vec<String>>
fn list_queues(&mut self) -> RsmqResult<Vec<String>>
Returns a list of queues in the namespace
Sourcefn pop_message<E: TryFrom<RedisBytes, Error = Vec<u8>>>(
&mut self,
qname: &str,
) -> RsmqResult<Option<RsmqMessage<E>>>
fn pop_message<E: TryFrom<RedisBytes, Error = Vec<u8>>>( &mut self, qname: &str, ) -> RsmqResult<Option<RsmqMessage<E>>>
Deletes and returns a message. Be aware that using this you may end with deleted & unprocessed messages.
§Arguments
qname- Name of the queue
Sourcefn receive_message<E: TryFrom<RedisBytes, Error = Vec<u8>>>(
&mut self,
qname: &str,
hidden: Option<Duration>,
) -> RsmqResult<Option<RsmqMessage<E>>>
fn receive_message<E: TryFrom<RedisBytes, Error = Vec<u8>>>( &mut self, qname: &str, hidden: Option<Duration>, ) -> RsmqResult<Option<RsmqMessage<E>>>
Returns a message. The message stays hidden for some time (defined by “hidden” argument or the queue settings). After that time, the message will be redelivered. To avoid redelivery, use “delete_message” after this function.
§Arguments
qname- Name of the queuehidden- Optional custom hidden duration. Max 9_999_999
Sourcefn send_message<E: Into<RedisBytes> + Send>(
&mut self,
qname: &str,
message: E,
delay: Option<Duration>,
) -> RsmqResult<String>
fn send_message<E: Into<RedisBytes> + Send>( &mut self, qname: &str, message: E, delay: Option<Duration>, ) -> RsmqResult<String>
Sends a message to the queue. The message will be delayed some time (controlled by the “delayed” argument or the queue settings) before being delivered to a client.
§Arguments
qname- Name of the queuemessage- Message content to senddelay- Optional custom delay duration
Sourcefn set_queue_attributes(
&mut self,
qname: &str,
hidden: Option<Duration>,
delay: Option<Duration>,
maxsize: Option<i64>,
) -> RsmqResult<RsmqQueueAttributes>
fn set_queue_attributes( &mut self, qname: &str, hidden: Option<Duration>, delay: Option<Duration>, maxsize: Option<i64>, ) -> RsmqResult<RsmqQueueAttributes>
Modify the queue attributes. Note that “hidden” and “delay” can be overwritten when sending messages. “hidden” can be changed by the method “change_message_visibility”
§Arguments
qname- Name of the queuehidden- Time messages will be hidden when received. Max 9_999_999delay- Time messages will be delayed before deliverymaxsize- Maximum message size in bytes (1024-65536 or -1 for unlimited)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.