20 #ifndef STREAM_SOCKET_TRANSPORT_H_
21 #define STREAM_SOCKET_TRANSPORT_H_
44 void receive_data(
void* buffer,
size_t bytes_requested)
override;
45 void receive_data(
void* buffer,
size_t bytes_requested, std::vector<Fd>& fds)
override;
46 void send_data(
const std::vector<uint8_t> &buffer)
override;
50 Fd open_socket(std::string
const& path);
51 void notify_data_available();
52 void notify_disconnected();
54 std::thread io_service_thread;
58 std::mutex observer_mutex;
59 std::vector<std::shared_ptr<Observer>> observers;
67 #endif // STREAM_SOCKET_TRANSPORT_H_
All things Mir.
Definition: aging_buffer.h:24
void send_data(const std::vector< uint8_t > &buffer) override
Write data to the server.
Definition: stream_socket_transport.cpp:143
Responsible for shuttling bytes to and from the server.
Definition: stream_transport.h:67
StreamSocketTransport(Fd const &fd)
Definition: stream_socket_transport.cpp:38
void receive_data(void *buffer, size_t bytes_requested) override
Read data from the server.
Definition: stream_socket_transport.cpp:66
Definition: stream_socket_transport.h:36
void register_observer(std::shared_ptr< Observer > const &observer) override
Definition: stream_socket_transport.cpp:60
~StreamSocketTransport() override
Definition: stream_socket_transport.cpp:49