pub struct InMemoryQueueWriter { /* private fields */ }Expand description
In-memory EventQueueWriter backed by a broadcast channel sender.
Supports multiple concurrent readers (fan-out) via subscribe().
Enforces a maximum serialized event size to prevent OOM from oversized
events written by executors.
Broadcast sends are non-blocking: if a reader falls behind, it will receive a lagged notification and skip missed events rather than blocking the writer.
Implementations§
Source§impl InMemoryQueueWriter
impl InMemoryQueueWriter
Sourcepub fn subscribe(&self) -> InMemoryQueueReader
pub fn subscribe(&self) -> InMemoryQueueReader
Creates a new reader that will receive all future events from this writer.
This enables fan-out: multiple SSE streams can subscribe to the same
event queue, which is required for SubscribeToTask (resubscribe).
Trait Implementations§
Source§impl Clone for InMemoryQueueWriter
impl Clone for InMemoryQueueWriter
Source§fn clone(&self) -> InMemoryQueueWriter
fn clone(&self) -> InMemoryQueueWriter
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for InMemoryQueueWriter
impl Debug for InMemoryQueueWriter
Auto Trait Implementations§
impl Freeze for InMemoryQueueWriter
impl RefUnwindSafe for InMemoryQueueWriter
impl Send for InMemoryQueueWriter
impl Sync for InMemoryQueueWriter
impl Unpin for InMemoryQueueWriter
impl UnsafeUnpin for InMemoryQueueWriter
impl UnwindSafe for InMemoryQueueWriter
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request