20 #ifndef MIR_CLIENT_RPC_STREAM_TRANSPORT_H_
21 #define MIR_CLIENT_RPC_STREAM_TRANSPORT_H_
129 virtual void receive_data(
void* buffer,
size_t bytes_requested) = 0;
144 virtual void receive_data(
void* buffer,
size_t bytes_requested, std::vector<Fd>& fds) = 0;
153 virtual void send_message(std::vector<uint8_t>
const& buffer, std::vector<Fd>
const& fds) = 0;
160 #endif // MIR_CLIENT_RPC_STREAM_TRANSPORT_H_
StreamTransport & operator=(StreamTransport const &)=delete
All things Mir.
Definition: atomic_callback.h:25
virtual void register_observer(std::shared_ptr< Observer > const &observer)=0
Register an IO observer.
virtual void on_data_available()=0
Called by the Transport when data is available for reading.
Observer & operator=(Observer const &)=delete
virtual ~Observer()=default
Responsible for shuttling bytes to and from the server.
Definition: stream_transport.h:68
virtual void send_message(std::vector< uint8_t > const &buffer, std::vector< Fd > const &fds)=0
Write message to the server.
virtual ~StreamTransport()=default
StreamTransport()=default
virtual void on_disconnected()=0
Called by the Transport when the connection to the server has been broken.
virtual void unregister_observer(std::shared_ptr< Observer > const &observer)=0
Unregister a previously-registered observer.
Definition: dispatchable.h:38
virtual void receive_data(void *buffer, size_t bytes_requested)=0
Read data from the server.
Observer of IO status.
Definition: stream_transport.h:87