9#ifndef LLDB_PROTOCOL_MCP_TRANSPORT_H
10#define LLDB_PROTOCOL_MCP_TRANSPORT_H
15#include "llvm/ADT/FunctionExtras.h"
16#include "llvm/ADT/StringRef.h"
25using LogCallback = llvm::unique_function<void(llvm::StringRef message)>;
40 void Log(llvm::StringRef message)
override;
A transport class for JSON RPC.
A transport is responsible for maintaining the connection to a client application,...
Transport(lldb::IOObjectSP in, lldb::IOObjectSP out, LogCallback log_callback={})
LogCallback m_log_callback
virtual ~Transport()=default
void operator=(const Transport &)=delete
void Log(llvm::StringRef message) override
Transport(const Transport &)=delete
Transport is not copyable.
lldb_private::Transport< Request, Response, Notification > MCPTransport
Generic transport that uses the MCP protocol.
llvm::unique_function< void(llvm::StringRef message)> LogCallback
Generic logging callback, to allow the MCP server / client / transport layer to be independent of the...
std::shared_ptr< lldb_private::IOObject > IOObjectSP