19 #ifndef MIR_FRONTEND_SOCKET_MESSENGER_H_
20 #define MIR_FRONTEND_SOCKET_MESSENGER_H_
35 SocketMessenger(std::shared_ptr<boost::asio::local::stream_protocol::socket>
const& socket);
37 void send(
char const* data,
size_t length,
FdSets const& fds)
override;
40 boost::system::error_code
receive_msg(boost::asio::mutable_buffers_1
const& buffer);
45 std::shared_ptr<boost::asio::local::stream_protocol::socket> socket;
47 std::mutex message_lock;
48 std::vector<char> whole_message;
50 void send_fds_locked(std::unique_lock<std::mutex>
const& lock, std::vector<int32_t>
const& fds);
Definition: socket_messenger.h:31
std::initializer_list< std::vector< int32_t > > FdSets
Definition: fd_sets.h:31
Definition: message_sender.h:31
void send(char const *data, size_t length, FdSets const &fds) override
Definition: socket_messenger.cpp:50
SocketMessenger(std::shared_ptr< boost::asio::local::stream_protocol::socket > const &socket)
Definition: socket_messenger.cpp:32
boost::system::error_code receive_msg(boost::asio::mutable_buffers_1 const &buffer)
Definition: socket_messenger.cpp:127
pid_t client_pid()
Definition: socket_messenger.cpp:38
Definition: message_receiver.h:30
std::function< void(boost::system::error_code const &, size_t)> MirReadHandler
Definition: message_receiver.h:34
void async_receive_msg(MirReadHandler const &handler, boost::asio::mutable_buffers_1 const &buffer)
Definition: socket_messenger.cpp:116
size_t available_bytes() override
Definition: socket_messenger.cpp:139