The Sendmsg handles reading and writing over a Unix FD that supports sendmsg(). More...
#include <sendmsgtransport.h>
Public Member Functions | |
~SendmsgTransport () | |
ssize_t | writeMessage (std::shared_ptr< const Message > message, uint32_t serial) |
std::shared_ptr< Message > | readMessage () |
bool | is_valid () const |
Check if this transport is OK. More... | |
int | fd () const |
Public Member Functions inherited from DBus::priv::Transport | |
virtual | ~Transport () |
Static Public Member Functions | |
static std::shared_ptr< SendmsgTransport > | create (int fd, bool initialize) |
Create a SendmsgTransport. More... | |
Static Public Member Functions inherited from DBus::priv::Transport | |
static std::shared_ptr< Transport > | open_transport (std::string address) |
Open and return a transport based off of the given address. More... | |
Private Member Functions | |
SendmsgTransport (int fd, bool initialize) | |
void | purgeData () |
DBUS_CXX_PROPAGATE_CONST (std::unique_ptr< priv_data >) m_priv | |
Additional Inherited Members | |
Protected Attributes inherited from DBus::priv::Transport | |
std::vector< uint8_t > | m_serverAddress |
The Sendmsg handles reading and writing over a Unix FD that supports sendmsg().
This allows you to send file descriptors over a Unix FD
|
private |
References LOGGER_NAME, and SIMPLELOGGER_DEBUG.
Referenced by create().
SendmsgTransport::~SendmsgTransport | ( | ) |
|
static |
Create a SendmsgTransport.
If the transport is unable to be created, returns an invalid shared_ptr.
fd | The already-open file descriptor |
initialize | True if this transport should initialize the connection by sending a single NULL byte |
References fd(), and SendmsgTransport().
Referenced by DBus::priv::Transport::open_transport().
|
private |
|
virtual |
Implements DBus::priv::Transport.
Referenced by create(), and writeMessage().
|
virtual |
|
private |
Referenced by readMessage().
|
virtual |
Implements DBus::priv::Transport.
References DBus::Message::create_from_data(), LOGGER_NAME, DBus::Validator::maximum_message_size(), purgeData(), and SIMPLELOGGER_DEBUG.
|
virtual |
Implements DBus::priv::Transport.
References fd(), DBus::hexdump(), LOGGER_NAME, SIMPLELOGGER_ERROR, and SIMPLELOGGER_TRACE.