mirror of
https://github.com/Noratrieb/haesli.git
synced 2026-01-14 19:55:03 +01:00
more queue stuff
This commit is contained in:
parent
14ad4e1011
commit
4643483d70
15 changed files with 126 additions and 42 deletions
|
|
@ -1,5 +1,5 @@
|
|||
use crate::message::Message;
|
||||
use crate::{newtype_id, ChannelId};
|
||||
use crate::{newtype, newtype_id, ChannelId};
|
||||
use parking_lot::Mutex;
|
||||
use std::sync::atomic::AtomicUsize;
|
||||
use std::sync::Arc;
|
||||
|
|
@ -8,10 +8,16 @@ pub type Queue = Arc<RawQueue>;
|
|||
|
||||
newtype_id!(pub QueueId);
|
||||
|
||||
newtype!(
|
||||
/// The name of a queue. A newtype wrapper around `Arc<str>`, which guarantees cheap clones.
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
|
||||
pub QueueName: Arc<str>
|
||||
);
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct RawQueue {
|
||||
pub id: QueueId,
|
||||
pub name: String,
|
||||
pub name: QueueName,
|
||||
pub messages: Mutex<Vec<Message>>, // use a concurrent linked list???
|
||||
pub durable: bool,
|
||||
pub exclusive: Option<ChannelId>,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue