19 #ifndef MIR_FRONTEND_PROTOBUF_ASIO_COMMUNICATOR_H_
20 #define MIR_FRONTEND_PROTOBUF_ASIO_COMMUNICATOR_H_
24 #include <boost/asio.hpp>
44 class ConnectorReport;
51 std::shared_ptr<SessionCreator>
const& session_creator,
53 std::function<
void()>
const& force_requests_to_complete,
54 std::shared_ptr<ConnectorReport>
const&
report);
56 void start()
override;
63 void create_session_for(std::shared_ptr<boost::asio::local::stream_protocol::socket>
const& server_socket)
const;
65 std::shared_ptr<ConnectorReport>
const report;
68 std::vector<std::thread> io_service_threads;
69 std::function<void()>
const force_requests_to_complete;
70 std::shared_ptr<SessionCreator>
const session_creator;
78 const std::string& socket_file,
79 std::shared_ptr<SessionCreator>
const& session_creator,
81 std::function<
void()>
const& force_requests_to_complete,
82 std::shared_ptr<ConnectorReport>
const&
report);
89 void on_new_connection(std::shared_ptr<boost::asio::local::stream_protocol::socket>
const& socket,
90 boost::system::error_code
const& ec);
92 const std::string socket_file;
93 boost::asio::local::stream_protocol::acceptor acceptor;
98 #endif // MIR_FRONTEND_PROTOBUF_ASIO_COMMUNICATOR_H_