pub struct BusBridge { /* private fields */ }Expand description
A read-only bridge from the HTTP bus SSE stream into the MCP process.
Call BusBridge::spawn to start the background reader, then query via
BusBridge::recent_events or BusBridge::status.
Implementations§
Source§impl BusBridge
impl BusBridge
Sourcepub fn spawn(self) -> Arc<Self>
pub fn spawn(self) -> Arc<Self>
Spawn the SSE reader as a background tokio task.
Returns Self wrapped in an Arc for sharing with tool handlers.
Sourcepub async fn recent_events(
&self,
topic_filter: Option<&str>,
limit: usize,
since: Option<DateTime<Utc>>,
) -> Vec<BusEnvelope>
pub async fn recent_events( &self, topic_filter: Option<&str>, limit: usize, since: Option<DateTime<Utc>>, ) -> Vec<BusEnvelope>
Query recent events with optional topic filter and limit.
Sourcepub fn status(&self) -> BusBridgeStatus
pub fn status(&self) -> BusBridgeStatus
Current bridge status summary (JSON-friendly).
Sourcepub async fn buffer_len(&self) -> usize
pub async fn buffer_len(&self) -> usize
Buffer size (number of envelopes currently held).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for BusBridge
impl !RefUnwindSafe for BusBridge
impl Send for BusBridge
impl Sync for BusBridge
impl Unpin for BusBridge
impl UnsafeUnpin for BusBridge
impl !UnwindSafe for BusBridge
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> 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::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Apply a transformation to the response body. Read more
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using gRPC headers. Read more