DBusConnection Struct Reference
DBusConnection implementation details

Implementation details of DBusConnection. More...

## Data Fields

DBusAtomic | refcount
| Reference count. More...
DBusRMutex * | mutex
| Lock on the entire DBusConnection.
DBusCMutex * | dispatch_mutex
| Protects dispatch_acquired.
DBusCondVar * | dispatch_cond
| Notify when dispatch_acquired is available.
DBusCMutex * | io_path_mutex
| Protects io_path_acquired.
DBusCondVar * | io_path_cond
| Notify when io_path_acquired is available.
DBusList * | outgoing_messages
| Queue of messages we need to send, send the end of the list first. More...
DBusList * | incoming_messages
| Queue of messages we have received, end of the list received most recently. More...
DBusList * | expired_messages
| Messages that will be released when we next unlock. More...
DBusMessage * | message_borrowed
| Filled in if the first incoming message has been borrowed; dispatch_acquired will be set by the borrower.
int | n_outgoing
| Length of outgoing queue. More...
int | n_incoming
| Length of incoming queue. More...
DBusCounter * | outgoing_counter
| Counts size of outgoing messages. More...
DBusTransport * | transport
| Object that sends/receives messages over network. More...
DBusWatchList * | watches
| Stores active watches. More...
DBusTimeoutList * | timeouts
| Stores active timeouts. More...
DBusList * | filter_list
| List of filters. More...
DBusRMutex * | slot_mutex
| Lock on slot_list so overall connection lock need not be taken.
DBusDataSlotList | slot_list
| Data stored by allocated integer ID.
DBusHashTable * | pending_replies
| Hash of message serials to DBusPendingCall. More...
dbus_uint32_t | client_serial
| Client serial. More...
DBusList * | disconnect_message_link
| Preallocated list node for queueing the disconnection message.
DBusWakeupMainFunction | wakeup_main_function
| Function to wake up the mainloop.
void * | wakeup_main_data
| Application data for wakeup_main_function.
DBusFreeFunction | free_wakeup_main_data
| free wakeup_main_data
DBusDispatchStatusFunction | dispatch_status_function
| Function on dispatch status changes.
void * | dispatch_status_data
| Application data for dispatch_status_function.
DBusFreeFunction | free_dispatch_status_data
| free dispatch_status_data
DBusDispatchStatus | last_dispatch_status
| The last dispatch status we reported to the application. More...
DBusObjectTree * | objects
| Object path handlers registered with this connection.
char * | server_guid
| GUID of server if we are in shared_connections, NULL if server GUID is unknown or connection is private.
dbus_bool_t | dispatch_acquired
| Someone has dispatch path (can drain incoming queue)
dbus_bool_t | io_path_acquired
| Someone has transport io path (can use the transport to read/write messages)
unsigned int | shareable: 1
| TRUE if libdbus owns a reference to the connection and can return it from dbus_connection_open() more than once
unsigned int | exit_on_disconnect: 1
| If TRUE, exit after handling disconnect signal.
unsigned int | route_peer_messages: 1
| If TRUE, if org.freedesktop.DBus.Peer messages have a bus name, don't handle them automatically.
unsigned int | disconnected_message_arrived: 1
| We popped or are dispatching the disconnected message. More...
unsigned int | disconnected_message_processed: 1
| We did our default handling of the disconnected message, such as closing the connection.
unsigned int | have_connection_lock: 1
| Used to check locking.
int | generation
| _dbus_current_generation that should correspond to this connection

## Detailed Description

Implementation details of DBusConnection.

All fields are private.

Definition at line 263 of file dbus-connection.c.

## Field Documentation

dbus_uint32_t DBusConnection::client_serial

Client serial.

Increments each time a message is sent

Definition at line 298 of file dbus-connection.c.

Referenced by _dbus_connection_new_for_transport().

unsigned int DBusConnection::disconnected_message_arrived

We popped or are dispatching the disconnected message.

if the disconnect_message_link is NULL then we queued it, but this flag is whether it got to the head of the queue.

Definition at line 328 of file dbus-connection.c.

Referenced by _dbus_connection_new_for_transport().

DBusList* DBusConnection::expired_messages

Messages that will be released when we next unlock.

Definition at line 276 of file dbus-connection.c.

Referenced by _dbus_connection_message_sent_unlocked(), _dbus_connection_unlock(), and dbus_connection_dispatch().

DBusList* DBusConnection::filter_list

List of filters.

Definition at line 291 of file dbus-connection.c.

Referenced by _dbus_connection_new_for_transport(), dbus_connection_add_filter(), dbus_connection_dispatch(), and dbus_connection_remove_filter().

DBusList* DBusConnection::incoming_messages

Queue of messages we have received, end of the list received most recently.

Definition at line 275 of file dbus-connection.c.

Referenced by _dbus_connection_queue_received_message_link(), _dbus_connection_queue_synthesized_message_link(), dbus_connection_borrow_message(), and dbus_connection_steal_borrowed_message().

DBusDispatchStatus DBusConnection::last_dispatch_status

The last dispatch status we reported to the application.

Definition at line 309 of file dbus-connection.c.

Referenced by _dbus_connection_new_for_transport().

int DBusConnection::n_incoming

Length of incoming queue.

Definition at line 283 of file dbus-connection.c.

Referenced by _dbus_connection_queue_received_message_link(), _dbus_connection_queue_synthesized_message_link(), and dbus_connection_steal_borrowed_message().

int DBusConnection::n_outgoing

Length of outgoing queue.

Definition at line 282 of file dbus-connection.c.

Referenced by _dbus_connection_do_iteration_unlocked(), and _dbus_connection_message_sent_unlocked().

DBusCounter* DBusConnection::outgoing_counter

Counts size of outgoing messages.

Definition at line 285 of file dbus-connection.c.

Referenced by _dbus_connection_message_sent_unlocked(), _dbus_connection_new_for_transport(), dbus_connection_get_outgoing_size(), and dbus_connection_get_outgoing_unix_fds().

DBusList* DBusConnection::outgoing_messages

Queue of messages we need to send, send the end of the list first.

Definition at line 274 of file dbus-connection.c.

Referenced by _dbus_connection_get_message_to_send(), _dbus_connection_has_messages_to_send_unlocked(), and _dbus_connection_message_sent_unlocked().

DBusHashTable* DBusConnection::pending_replies

Hash of message serials to DBusPendingCall.

Definition at line 296 of file dbus-connection.c.

Referenced by _dbus_connection_new_for_transport(), _dbus_connection_queue_received_message_link(), and dbus_connection_dispatch().

DBusAtomic DBusConnection::refcount

Reference count.

Definition at line 265 of file dbus-connection.c.

Referenced by _dbus_connection_close_if_only_one_ref(), _dbus_connection_new_for_transport(), _dbus_connection_ref_unlocked(), _dbus_connection_unref_unlocked(), dbus_connection_ref(), and dbus_connection_unref().

DBusTimeoutList* DBusConnection::timeouts

Stores active timeouts.

Definition at line 289 of file dbus-connection.c.

Referenced by _dbus_connection_new_for_transport(), and dbus_connection_set_timeout_functions().

DBusTransport* DBusConnection::transport

Object that sends/receives messages over network.

Definition at line 287 of file dbus-connection.c.

Referenced by _dbus_connection_do_iteration_unlocked(), _dbus_connection_handle_watch(), _dbus_connection_new_for_transport(), _dbus_connection_queue_received_message_link(), dbus_connection_can_send_type(), dbus_connection_get_adt_audit_session_data(), dbus_connection_get_is_anonymous(), dbus_connection_get_is_authenticated(), dbus_connection_get_max_message_size(), dbus_connection_get_max_message_unix_fds(), dbus_connection_get_max_received_size(), dbus_connection_get_max_received_unix_fds(), dbus_connection_get_server_id(), dbus_connection_get_socket(), dbus_connection_get_unix_fd(), dbus_connection_get_unix_process_id(), dbus_connection_get_unix_user(), dbus_connection_get_windows_user(), dbus_connection_send(), dbus_connection_send_preallocated(), dbus_connection_send_with_reply(), dbus_connection_send_with_reply_and_block(), dbus_connection_set_allow_anonymous(), dbus_connection_set_max_message_size(), dbus_connection_set_max_message_unix_fds(), dbus_connection_set_max_received_size(), dbus_connection_set_max_received_unix_fds(), dbus_connection_set_unix_user_function(), dbus_connection_set_windows_user_function(), and dbus_connection_unref().

DBusWatchList* DBusConnection::watches

Stores active watches.

Definition at line 288 of file dbus-connection.c.

Referenced by _dbus_connection_new_for_transport(), and dbus_connection_set_watch_functions().

The documentation for this struct was generated from the following file:

- dbus-connection.c