a #GDBusMessage
flags affecting how the message is sent
the timeout in milliseconds, -1 to use the default timeout or %G_MAXINT for no timeout
return location for serial number assigned to @message when sending it or %NULL
a #GCancellable or %NULL
a #GAsyncReadyCallback to call when the request is satisfied or %NULL if you don't care about the result
The data to pass to @callback
2.26
Asynchronously sends @message to the peer represented by @connection.
Unless @flags contain the %G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag, the serial number will be assigned by @connection and set on @message via g_dbus_message_set_serial(). If @out_serial is not %NULL, then the serial number used will be written to this location prior to submitting the message to the underlying transport.
If @connection is closed then the operation will fail with %G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will fail with %G_IO_ERROR_CANCELLED. If @message is not well-formed, the operation fails with %G_IO_ERROR_INVALID_ARGUMENT.
This is an asynchronous method. When the operation is finished, @callback will be invoked in the [thread-default main context][g-main-context-push-thread-default] of the thread you are calling this method from. You can then call g_dbus_connection_send_message_with_reply_finish() to get the result of the operation. See g_dbus_connection_send_message_with_reply_sync() for the synchronous version.
Note that @message must be unlocked, unless @flags contain the %G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag.
See this server[gdbus-server] and client[gdbus-unix-fd-client] for an example of how to use this low-level API to send and receive UNIX file descriptors.