JSON-RPC 2.0
JSON-RPC 2.0 Modern C++ Library
|
#include <framed_pipe_transport.hpp>
Public Member Functions | |
FramedPipeTransport (asio::any_io_executor executor, const std::string &socket_path, bool is_server, std::shared_ptr< spdlog::logger > logger=nullptr) | |
auto | SendMessage (std::string message) -> asio::awaitable< std::expected< void, error::RpcError > > override |
auto | ReceiveMessage () -> asio::awaitable< std::expected< std::string, error::RpcError > > override |
![]() | |
PipeTransport (asio::any_io_executor executor, std::string socket_path, bool is_server=false, std::shared_ptr< spdlog::logger > logger=nullptr) | |
~PipeTransport () override | |
PipeTransport (const PipeTransport &)=delete | |
auto | operator= (const PipeTransport &) -> PipeTransport &=delete |
PipeTransport (PipeTransport &&)=delete | |
auto | operator= (PipeTransport &&) -> PipeTransport &=delete |
auto | Start () -> asio::awaitable< std::expected< void, error::RpcError > > override |
auto | Close () -> asio::awaitable< std::expected< void, error::RpcError > > override |
void | CloseNow () override |
auto | SendMessage (std::string message) -> asio::awaitable< std::expected< void, error::RpcError > > override |
auto | Flush () -> asio::awaitable< std::expected< void, error::RpcError > > |
auto | ReceiveMessage () -> asio::awaitable< std::expected< std::string, error::RpcError > > override |
![]() | |
Transport (asio::any_io_executor executor, std::shared_ptr< spdlog::logger > logger=nullptr) | |
Transport (const Transport &)=delete | |
Transport (Transport &&)=delete | |
auto | operator= (const Transport &) -> Transport &=delete |
auto | operator= (Transport &&) -> Transport &=delete |
virtual | ~Transport ()=default |
auto | GetExecutor () const -> asio::any_io_executor |
auto | GetStrand () -> asio::strand< asio::any_io_executor > & |
Additional Inherited Members | |
![]() | |
auto | GetSocket () -> asio::local::stream_protocol::socket & |
auto | RemoveExistingSocketFile () -> std::expected< void, error::RpcError > |
auto | Connect () -> asio::awaitable< std::expected< void, error::RpcError > > |
auto | BindAndListen () -> asio::awaitable< std::expected< void, error::RpcError > > |
![]() | |
auto | Logger () -> std::shared_ptr< spdlog::logger > |
Definition at line 12 of file framed_pipe_transport.hpp.
jsonrpc::transport::FramedPipeTransport::FramedPipeTransport | ( | asio::any_io_executor | executor, |
const std::string & | socket_path, | ||
bool | is_server, | ||
std::shared_ptr< spdlog::logger > | logger = nullptr ) |
Definition at line 10 of file framed_pipe_transport.cpp.
|
overridevirtual |
Implements jsonrpc::transport::Transport.
Definition at line 22 of file framed_pipe_transport.cpp.
References jsonrpc::transport::PipeTransport::ReceiveMessage(), and jsonrpc::error::RpcError::UnexpectedFromCode().
|
overridevirtual |
Implements jsonrpc::transport::Transport.
Definition at line 16 of file framed_pipe_transport.cpp.
References jsonrpc::transport::MessageFramer::Frame(), and jsonrpc::transport::PipeTransport::SendMessage().