|
cxxmcp 1.1.6
C++ MCP SDK
|
Adapts an existing client::Transport to transport::ClientTransport. More...
#include <transport_adapter.hpp>
Public Member Functions | |
| TransportContractAdapter (mcp::client::Transport &transport) | |
| TransportContractAdapter (std::unique_ptr< mcp::client::Transport > transport) | |
| TransportContractAdapter (const TransportContractAdapter &)=delete | |
| TransportContractAdapter & | operator= (const TransportContractAdapter &)=delete |
| TransportContractAdapter (TransportContractAdapter &&other) noexcept | |
| TransportContractAdapter & | operator= (TransportContractAdapter &&other) noexcept |
| std::string_view | name () const noexcept override |
| Human-readable transport name for diagnostics. | |
| core::Result< core::Unit > | send (TxMessage message) override |
| core::Result< std::optional< RxMessage > > | receive () override |
| Receives the next JSON-RPC message from the peer. | |
| core::Result< core::Unit > | close () override |
| Closes the transport and unblocks receive() where possible. | |
Public Member Functions inherited from mcp::transport::Transport< Role > | |
| virtual protocol::Json | diagnostics () const |
| Structured implementation diagnostics. | |
| virtual core::Result< core::Unit > | send (TxMessage message)=0 |
| Sends one JSON-RPC message to the peer. | |
| virtual void | wait_until_ready () |
| Blocks until the transport is ready to process messages. | |
Additional Inherited Members | |
Public Types inherited from mcp::transport::Transport< Role > | |
| using | TxMessage = typename MessageTraits< Role >::TxMessage |
| using | RxMessage = typename MessageTraits< Role >::RxMessage |
Adapts an existing client::Transport to transport::ClientTransport.
Request responses are queued for receive(). Inbound server-to-client requests and notifications still belong to the concrete transport's start() callback model and are not synthesized by this adapter. This compatibility adapter is not internally synchronized; callers must serialize send(), receive(), and close() access unless the wrapped transport and caller add their own synchronization.
|
inlineoverridevirtual |
Closes the transport and unblocks receive() where possible.
Implements mcp::transport::Transport< Role >.
|
inlineoverridevirtualnoexcept |
Human-readable transport name for diagnostics.
Implements mcp::transport::Transport< Role >.
|
inlineoverridevirtual |
Receives the next JSON-RPC message from the peer.
receive() is the sequential inbound side. A successful std::nullopt return is an orderly end-of-stream signal, not a parse or transport error.
Implements mcp::transport::Transport< Role >.