pub struct StreamableHttpTransport { /* private fields */ }Expand description
Streaming HTTP transport for long-lived MCP connections.
This transport uses HTTP streaming (chunked transfer encoding) for server-to-client messages and regular POST requests for client-to-server messages.
Implementations§
Source§impl StreamableHttpTransport
impl StreamableHttpTransport
Sourcepub fn new() -> StreamableHttpTransport
pub fn new() -> StreamableHttpTransport
Creates a new streaming HTTP transport.
Sourcepub fn push_request(&self, request: JsonRpcRequest)
pub fn push_request(&self, request: JsonRpcRequest)
Pushes a request into the queue (from HTTP handler).
Sourcepub fn pop_response(&self) -> Option<JsonRpcResponse>
pub fn pop_response(&self) -> Option<JsonRpcResponse>
Pops a response from the queue (for HTTP streaming).
Sourcepub fn has_responses(&self) -> bool
pub fn has_responses(&self) -> bool
Checks if there are pending responses.
Sourcepub fn request_queue(&self) -> Arc<Mutex<VecDeque<JsonRpcRequest>>>
pub fn request_queue(&self) -> Arc<Mutex<VecDeque<JsonRpcRequest>>>
Returns the request queue for external access.
Sourcepub fn response_queue(&self) -> Arc<Mutex<VecDeque<JsonRpcResponse>>>
pub fn response_queue(&self) -> Arc<Mutex<VecDeque<JsonRpcResponse>>>
Returns the response queue for external access.
Trait Implementations§
Source§impl Default for StreamableHttpTransport
impl Default for StreamableHttpTransport
Source§fn default() -> StreamableHttpTransport
fn default() -> StreamableHttpTransport
Returns the “default value” for a type. Read more
Source§impl Transport for StreamableHttpTransport
impl Transport for StreamableHttpTransport
Source§fn send(
&mut self,
cx: &Cx,
message: &JsonRpcMessage,
) -> Result<(), TransportError>
fn send( &mut self, cx: &Cx, message: &JsonRpcMessage, ) -> Result<(), TransportError>
Send a JSON-RPC message through this transport. Read more
Source§fn recv(&mut self, cx: &Cx) -> Result<JsonRpcMessage, TransportError>
fn recv(&mut self, cx: &Cx) -> Result<JsonRpcMessage, TransportError>
Receive the next JSON-RPC message from this transport. Read more
Source§fn send_request(
&mut self,
cx: &Cx,
request: &JsonRpcRequest,
) -> Result<(), TransportError>
fn send_request( &mut self, cx: &Cx, request: &JsonRpcRequest, ) -> Result<(), TransportError>
Send a request through this transport. Read more
Source§fn send_response(
&mut self,
cx: &Cx,
response: &JsonRpcResponse,
) -> Result<(), TransportError>
fn send_response( &mut self, cx: &Cx, response: &JsonRpcResponse, ) -> Result<(), TransportError>
Send a response through this transport. Read more
Auto Trait Implementations§
impl Freeze for StreamableHttpTransport
impl RefUnwindSafe for StreamableHttpTransport
impl Send for StreamableHttpTransport
impl Sync for StreamableHttpTransport
impl Unpin for StreamableHttpTransport
impl UnwindSafe for StreamableHttpTransport
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: NoopSpan) -> Self
fn instrument(self, _span: NoopSpan) -> Self
Instruments this future with a span (no-op when disabled).
Source§fn in_current_span(self) -> Self
fn in_current_span(self) -> Self
Instruments this future with the current span (no-op when disabled).