24#if MSGPACK_RPC_HAS_UNIX_SOCKETS
38namespace msgpack_rpc::transport::unix_socket {
40UnixSocketBackend::UnixSocketBackend(
41 const std::shared_ptr<executors::IExecutor>& executor,
42 const config::MessageParserConfig& message_parser_config,
43 std::shared_ptr<logging::Logger> logger)
44 : executor_(executor),
45 message_parser_config_(message_parser_config),
46 logger_(std::move(logger)) {}
48std::string_view UnixSocketBackend::scheme() const noexcept {
49 return addresses::UNIX_SOCKET_SCHEME;
52std::shared_ptr<IAcceptorFactory> UnixSocketBackend::create_acceptor_factory() {
53 return std::make_shared<UnixSocketAcceptorFactory>(executor(),
54 message_parser_config_, logger_, addresses::UNIX_SOCKET_SCHEME);
57std::shared_ptr<IConnector> UnixSocketBackend::create_connector() {
58 return std::make_shared<UnixSocketConnector>(executor(),
59 message_parser_config_, logger_, addresses::UNIX_SOCKET_SCHEME);
62UnixSocketBackend::~UnixSocketBackend() noexcept = default;
64std::shared_ptr<executors::IExecutor> UnixSocketBackend::executor()
const {
65 auto locked = executor_.lock();
67 throw MsgpackRPCException(
68 StatusCode::PRECONDITION_NOT_MET,
"Executor has been deleted.");
Definitions of platform-specific macros.
Definition of IExecutor class.
Definition of Logger class.
Definition of MessageParserConfig class.
Definition of MsgpackRPCException class.
Definition of constants of schemes.
Definition of StatusCode enumeration.
Definition of UnixSocketAcceptorFactory class.
Definition of UnixSocketBackend class.
Definition of UnixSocketConnector class.