20 #ifndef STREAM_SOCKET_TRANSPORT_H_
21 #define STREAM_SOCKET_TRANSPORT_H_
43 void receive_data(
void* buffer,
size_t bytes_requested)
override;
44 void receive_data(
void* buffer,
size_t bytes_requested, std::vector<Fd>& fds)
override;
45 void send_message(std::vector<uint8_t>
const& buffer, std::vector<mir::Fd>
const& fds)
override;
52 void notify_data_available();
53 void notify_disconnected();
57 std::mutex observer_mutex;
58 std::vector<std::shared_ptr<Observer>> observers;
66 #endif // STREAM_SOCKET_TRANSPORT_H_
All things Mir.
Definition: buffer_stream.h:37
Responsible for shuttling bytes to and from the server.
Definition: stream_transport.h:68
mir::dispatch::FdEvents relevant_events() const override
The set of file-descriptor events this Dispatchable handles.
Definition: stream_socket_transport.cpp:199
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:54
void send_message(std::vector< uint8_t > const &buffer, std::vector< mir::Fd > const &fds) override
Write message to the server.
Definition: stream_socket_transport.cpp:131
Fd watch_fd() const override
Get a poll()able file descriptor.
Definition: stream_socket_transport.cpp:167
Definition: stream_socket_transport.h:36
bool dispatch(mir::dispatch::FdEvents event) override
Dispatch one pending event.
Definition: stream_socket_transport.cpp:172
void register_observer(std::shared_ptr< Observer > const &observer) override
Definition: stream_socket_transport.cpp:48
uint32_t FdEvents
Definition: dispatchable.h:36