'\" t .TH "SD_BUS_GET_N_QUEUED_READ" "3" "" "systemd 261.2" "sd_bus_get_fd" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" sd_bus_get_n_queued_read, sd_bus_get_n_queued_write \- Get the number of pending bus messages in the read and write queues of a bus connection object .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft .HP \w'int\ sd_bus_get_n_queued_read('u .BI "int sd_bus_get_n_queued_read(sd_bus\ *" "bus" ", uint64_t\ *" "ret" ");" .HP \w'int\ sd_bus_get_n_queued_write('u .BI "int sd_bus_get_n_queued_write(sd_bus\ *" "bus" ", uint64_t\ *" "ret" ");" .SH "DESCRIPTION" .PP \fBsd_bus_get_n_queued_read()\fR may be used to query the number of bus messages in the read queue of a bus connection object\&. The read queue contains all messages read from the transport medium (e\&.g\&. network socket) but not yet processed locally\&. The function expects two arguments: the bus object to query, and a pointer to a 64\-bit counter variable to write the current queue size to\&. Use \fBsd_bus_process()\fR in order to process queued messages, i\&.e\&. to reduce the size of the read queue (as well as, in fact, the write queue, see below)\&. .PP Similarly, \fBsd_bus_get_n_queued_write()\fR may be used to query the number of currently pending bus messages in the write queue of a bus connection object\&. The write queue contains all messages enqueued into the connection with a call such as \fBsd_bus_send()\fR but not yet written to the transport medium\&. The expected arguments are similar to \fBsd_bus_get_n_queued_read()\fR\&. Here too, use \fBsd_bus_process()\fR to reduce the size of the write queue\&. Alternatively, use \fBsd_bus_flush()\fR to synchronously write out any pending bus messages until the write queue is empty\&. .SH "RETURN VALUE" .PP On success, these functions return 0 or a positive integer\&. On failure, they return a negative errno\-style error code\&. .SS "Errors" .PP Returned errors may indicate the following problems: .PP \fB\-ECHILD\fR .RS 4 The bus connection was created in a different process, library or module instance\&. .RE .SH "NOTES" .PP Functions described here are available as a shared library, which can be compiled against and linked to with the \fBlibsystemd\fR\ \&\fBpkg-config\fR(1) file\&. .PP All functions listed here are thread\-agnostic and only a single thread may operate on a given object at any given time\&. Different threads may access the same object at different times\&. Multiple independent objects may be used from different threads in parallel\&. .PP The code described here uses \fBgetenv\fR(3), which is declared to be not multi\-thread\-safe\&. This means that the code calling the functions described here must not call \fBsetenv\fR(3) from a parallel thread\&. It is recommended to only do calls to \fBsetenv()\fR from an early phase of the program when no other threads have been started\&. .SH "HISTORY" .PP \fBsd_bus_get_n_queued_read()\fR and \fBsd_bus_get_n_queued_write()\fR were added in version 238\&. .SH "SEE ALSO" .PP \fBsystemd\fR(1), \fBsd-bus\fR(3), \fBsd_bus_process\fR(3), \fBsd_bus_send\fR(3), \fBsd_bus_flush\fR(3)