pub struct DataStreamRegistry { /* private fields */ }Expand description
DataStreamRegistry - Stream chunk callback manager
§Responsibilities
- Receive DataStream from LatencyFirst Lane (stream-format data packets)
- Maintain stream_id → callback mapping
- Concurrently invoke user-registered data stream callbacks
§Typical Use Cases
- Streaming RPC (server-side push streams)
- Real-time collaborative editing (multi-user editing sync)
- Game state streams (position updates, event streams)
- Log streams, sensor data streams, metrics streams
Implementations§
Source§impl DataStreamRegistry
impl DataStreamRegistry
pub fn new() -> Self
Sourcepub fn register(&self, stream_id: String, callback: DataStreamCallback)
pub fn register(&self, stream_id: String, callback: DataStreamCallback)
Register stream callback
§Arguments
stream_id: stream identifier (must be globally unique)callback: data stream handler callback
Sourcepub fn unregister(&self, stream_id: &str)
pub fn unregister(&self, stream_id: &str)
Sourcepub async fn dispatch(&self, chunk: DataStream, sender_id: ActrId)
pub async fn dispatch(&self, chunk: DataStream, sender_id: ActrId)
Sourcepub fn active_streams(&self) -> usize
pub fn active_streams(&self) -> usize
Get active stream count
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DataStreamRegistry
impl !RefUnwindSafe for DataStreamRegistry
impl Send for DataStreamRegistry
impl Sync for DataStreamRegistry
impl Unpin for DataStreamRegistry
impl !UnwindSafe for DataStreamRegistry
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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 more