#include <stream_socket_transport.h>
mir::client::rpc::StreamSocketTransport::StreamSocketTransport |
( |
mir::Fd const & |
fd | ) |
|
mir::client::rpc::StreamSocketTransport::StreamSocketTransport |
( |
std::string const & |
socket_path | ) |
|
mir::client::rpc::StreamSocketTransport::~StreamSocketTransport |
( |
| ) |
|
|
override |
void mir::client::rpc::StreamSocketTransport::receive_data |
( |
void * |
buffer, |
|
|
size_t |
bytes_requested |
|
) |
| |
|
overridevirtual |
Read data from the server.
- Parameters
-
[out] | buffer | Buffer to read into |
[in] | bytes_requested | Number of bytes to read |
- Exceptions
-
A | std::runtime_error if it is not possible to read read_bytes bytes from the server. |
- Note
- This provides stream semantics - message boundaries are not preserved.
Implements mir::client::rpc::StreamTransport.
void mir::client::rpc::StreamSocketTransport::receive_data |
( |
void * |
buffer, |
|
|
size_t |
bytes_requested, |
|
|
std::vector< Fd > & |
fds |
|
) |
| |
|
overridevirtual |
Read data and file descriptors from the server.
- Parameters
-
[out] | buffer | Buffer to read into |
[in] | bytes_requested | Number of bytes to read |
[in,out] | fds | File descriptors received in this read. The value of fds.size() determines the number of file descriptors to receive. |
- Exceptions
-
A | std::runtime_error if it is not possible to read read_bytes bytes from the server or if it is not possible to read fds.size() file descriptors from the server. |
- Note
- This provides stream semantics - message boundaries are not preserved.
Implements mir::client::rpc::StreamTransport.
void mir::client::rpc::StreamSocketTransport::register_observer |
( |
std::shared_ptr< Observer > const & |
observer | ) |
|
|
override |
void mir::client::rpc::StreamSocketTransport::send_data |
( |
const std::vector< uint8_t > & |
buffer | ) |
|
|
overridevirtual |
Write data to the server.
- Parameters
-
- Exceptions
-
A | std::runtime_error if it is not possible to write the full contents of buffer to the server. |
Implements mir::client::rpc::StreamTransport.
The documentation for this class was generated from the following files:
Copyright © 2012,2013 Canonical Ltd.
Generated on Fri Oct 10 14:07:14 UTC 2014