Struct SseTransport
pub struct SseTransport { /* private fields */ }Implementations§
Source§impl SseTransport
impl SseTransport
pub fn new(config: &McpServerConfig) -> Result<Self>
Trait Implementations§
Source§impl McpTransportConn for SseTransport
impl McpTransportConn for SseTransport
Source§fn send_and_recv<'life0, 'life1, 'async_trait>(
&'life0 mut self,
request: &'life1 JsonRpcRequest,
) -> Pin<Box<dyn Future<Output = Result<JsonRpcResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn send_and_recv<'life0, 'life1, 'async_trait>(
&'life0 mut self,
request: &'life1 JsonRpcRequest,
) -> Pin<Box<dyn Future<Output = Result<JsonRpcResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Send a JSON-RPC request and receive the response.
Source§fn reset<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn reset<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Reset per-connection session state so the next operation re-establishes
a fresh session. Default is a no-op for stateless transports (stdio).
Source§fn close<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn close<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Close the connection.
Source§fn health_check(&mut self) -> bool
fn health_check(&mut self) -> bool
Check whether the underlying transport is still alive without sending a
real request. The HTTP and SSE transports always return
Ok(true) —
connection drops surface through send_and_recv errors. The stdio
transport verifies the child process is still running via try_wait().Auto Trait Implementations§
impl Freeze for SseTransport
impl !RefUnwindSafe for SseTransport
impl Send for SseTransport
impl Sync for SseTransport
impl Unpin for SseTransport
impl UnsafeUnpin for SseTransport
impl !UnwindSafe for SseTransport
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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