25 PipeTransport(
const std::string &socket_path,
bool is_server);
35 void SendMessage(
const std::string &message)
override;
39 auto GetSocket() -> asio::local::stream_protocol::socket &;
42 void RemoveExistingSocketFile();
46 asio::io_context io_context_;
47 asio::local::stream_protocol::socket socket_;
48 std::string socket_path_;
Transport implementation using Unix domain sockets.
void SendMessage(const std::string &message) override
Sends a message in string to the transport layer.
PipeTransport(PipeTransport &&)=delete
auto GetSocket() -> asio::local::stream_protocol::socket &
PipeTransport(const std::string &socket_path, bool is_server)
Constructs a PipeTransport.
auto operator=(PipeTransport &&) -> PipeTransport &=delete
auto operator=(const PipeTransport &) -> PipeTransport &=delete
auto ReceiveMessage() -> std::string override
Receives a message from the transport layer.
~PipeTransport() override
PipeTransport(const PipeTransport &)=delete
Base class for JSON-RPC transport.