pub struct QueueFactory;Expand description
Factory for creating appropriately-sized message queues.
§Example
ⓘ
use ringkernel_core::queue::{QueueFactory, QueueTier};
// Create a medium-sized MPSC queue
let queue = QueueFactory::create_mpsc(QueueTier::Medium);
// Create based on expected throughput
let queue = QueueFactory::create_for_throughput(10000, 100); // 10k msg/s, 100ms bufferImplementations§
Source§impl QueueFactory
impl QueueFactory
Sourcepub fn create_spsc(tier: QueueTier) -> SpscQueue
pub fn create_spsc(tier: QueueTier) -> SpscQueue
Create an SPSC queue with the specified tier.
Sourcepub fn create_mpsc(tier: QueueTier) -> MpscQueue
pub fn create_mpsc(tier: QueueTier) -> MpscQueue
Create an MPSC queue with the specified tier.
Sourcepub fn create_bounded(tier: QueueTier) -> BoundedQueue
pub fn create_bounded(tier: QueueTier) -> BoundedQueue
Create a bounded queue with the specified tier.
Sourcepub fn create_for_throughput(
messages_per_second: u64,
headroom_ms: u64,
) -> Box<dyn MessageQueue>
pub fn create_for_throughput( messages_per_second: u64, headroom_ms: u64, ) -> Box<dyn MessageQueue>
Create a queue based on expected throughput.
§Arguments
messages_per_second- Expected message throughputheadroom_ms- Desired buffer time in milliseconds
Auto Trait Implementations§
impl Freeze for QueueFactory
impl RefUnwindSafe for QueueFactory
impl Send for QueueFactory
impl Sync for QueueFactory
impl Unpin for QueueFactory
impl UnwindSafe for QueueFactory
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.