D-Bus 1.13.18

Data Fields
DBusConnection Struct Reference
D-Bus secret internal implementation details » DBusConnection implementation details

Implementation details of DBusConnection. More...

## Data Fields
DBusAtomic | refcount
| Reference count. More...
DBusRMutex * | mutex
| Lock on the entire DBusConnection. More...
DBusCMutex * | dispatch_mutex
| Protects dispatch_acquired. More...
DBusCondVar * | dispatch_cond
| Notify when dispatch_acquired is available. More...
DBusCMutex * | io_path_mutex
| Protects io_path_acquired. More...
DBusCondVar * | io_path_cond
| Notify when io_path_acquired is available. More...
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. More...
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. More...
DBusDataSlotList | slot_list
| Data stored by allocated integer ID. More...
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. More...
DBusWakeupMainFunction | wakeup_main_function
| Function to wake up the mainloop More...
void * | wakeup_main_data
| Application data for wakeup_main_function. More...
DBusFreeFunction | free_wakeup_main_data
| free wakeup_main_data More...
DBusDispatchStatusFunction | dispatch_status_function
| Function on dispatch status changes More...
void * | dispatch_status_data
| Application data for dispatch_status_function. More...
DBusFreeFunction | free_dispatch_status_data
| free dispatch_status_data More...
DBusDispatchStatus | last_dispatch_status
| The last dispatch status we reported to the application. More...
DBusObjectTree * | objects
| Object path handlers registered with this connection. More...
char * | server_guid
| GUID of server if we are in shared_connections, NULL if server GUID is unknown or connection is private. More...
dbus_bool_t | dispatch_acquired
| Someone has dispatch path (can drain incoming queue) More...
dbus_bool_t | io_path_acquired
| Someone has transport io path (can use the transport to read/write messages) More...
unsigned int | shareable: 1
| TRUE if libdbus owns a reference to the connection and can return it from dbus_connection_open() more than once More...
unsigned int | exit_on_disconnect: 1
| If TRUE, exit after handling disconnect signal. More...
unsigned int | route_peer_messages: 1
| If TRUE, if org.freedesktop.DBus.Peer messages have a bus name, don't handle them automatically. More...
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. More...
unsigned int | have_connection_lock: 1
| Used to check locking. More...

## Detailed Description

Implementation details of DBusConnection.

All fields are private.

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

## Field Documentation

## ◆ client_serial

dbus_uint32_t DBusConnection::client_serial

Client serial.

Increments each time a message is sent

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

## ◆ disconnect_message_link

DBusList* DBusConnection::disconnect_message_link

Preallocated list node for queueing the disconnection message.

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

## ◆ disconnected_message_arrived

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 321 of file dbus-connection.c.

## ◆ disconnected_message_processed

unsigned int DBusConnection::disconnected_message_processed

We did our default handling of the disconnected message, such as closing the connection.

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

## ◆ dispatch_acquired

dbus_bool_t DBusConnection::dispatch_acquired

Someone has dispatch path (can drain incoming queue)

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

Referenced by dbus_connection_return_message(), and dbus_connection_steal_borrowed_message().

## ◆ dispatch_cond

DBusCondVar* DBusConnection::dispatch_cond

Notify when dispatch_acquired is available.

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

## ◆ dispatch_mutex

DBusCMutex* DBusConnection::dispatch_mutex

Protects dispatch_acquired.

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

## ◆ dispatch_status_data

void* DBusConnection::dispatch_status_data

Application data for dispatch_status_function.

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

Referenced by dbus_connection_set_dispatch_status_function().

## ◆ dispatch_status_function

DBusDispatchStatusFunction DBusConnection::dispatch_status_function

Function on dispatch status changes

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

Referenced by dbus_connection_set_dispatch_status_function().

## ◆ exit_on_disconnect

unsigned int DBusConnection::exit_on_disconnect

If TRUE, exit after handling disconnect signal.

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

Referenced by dbus_connection_set_exit_on_disconnect().

## ◆ expired_messages

DBusList* DBusConnection::expired_messages

Messages that will be released when we next unlock.

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

Referenced by _dbus_connection_message_sent_unlocked(), and _dbus_connection_unlock().

## ◆ filter_list

DBusList* DBusConnection::filter_list

List of filters.

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

Referenced by dbus_connection_add_filter(), and dbus_connection_remove_filter().

## ◆ free_dispatch_status_data

DBusFreeFunction DBusConnection::free_dispatch_status_data

free dispatch_status_data

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

Referenced by dbus_connection_set_dispatch_status_function().

## ◆ free_wakeup_main_data

DBusFreeFunction DBusConnection::free_wakeup_main_data

free wakeup_main_data

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

Referenced by dbus_connection_set_wakeup_main_function().

## ◆ have_connection_lock

unsigned int DBusConnection::have_connection_lock

Used to check locking.

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

## ◆ incoming_messages

DBusList* DBusConnection::incoming_messages

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

Definition at line 268 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().

## ◆ io_path_acquired

dbus_bool_t DBusConnection::io_path_acquired

Someone has transport io path (can use the transport to read/write messages)

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

## ◆ io_path_cond

DBusCondVar* DBusConnection::io_path_cond

Notify when io_path_acquired is available.

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

## ◆ io_path_mutex

DBusCMutex* DBusConnection::io_path_mutex

Protects io_path_acquired.

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

## ◆ last_dispatch_status

DBusDispatchStatus DBusConnection::last_dispatch_status

The last dispatch status we reported to the application.

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

## ◆ message_borrowed

DBusMessage* DBusConnection::message_borrowed

Filled in if the first incoming message has been borrowed; dispatch_acquired will be set by the borrower.

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

Referenced by dbus_connection_return_message(), and dbus_connection_steal_borrowed_message().

## ◆ mutex

DBusRMutex* DBusConnection::mutex

Lock on the entire DBusConnection.

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

Referenced by _dbus_connection_unlock().

## ◆ n_incoming

int DBusConnection::n_incoming

Length of incoming queue.

Definition at line 276 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().

## ◆ n_outgoing

int DBusConnection::n_outgoing

Length of outgoing queue.

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

Referenced by _dbus_connection_do_iteration_unlocked(), and _dbus_connection_message_sent_unlocked().

## ◆ objects

DBusObjectTree* DBusConnection::objects

Object path handlers registered with this connection.

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

Referenced by dbus_connection_get_object_path_data(), dbus_connection_list_registered(), and dbus_connection_unregister_object_path().

## ◆ outgoing_counter

DBusCounter* DBusConnection::outgoing_counter

Counts size of outgoing messages.

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

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

## ◆ outgoing_messages

DBusList* DBusConnection::outgoing_messages

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

Definition at line 267 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().

## ◆ pending_replies

DBusHashTable* DBusConnection::pending_replies

Hash of message serials to DBusPendingCall.

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

Referenced by _dbus_connection_queue_received_message_link().

## ◆ refcount

DBusAtomic DBusConnection::refcount

Reference count.

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

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

## ◆ route_peer_messages

unsigned int DBusConnection::route_peer_messages

If TRUE, if org.freedesktop.DBus.Peer messages have a bus name, don't handle them automatically.

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

Referenced by dbus_connection_set_route_peer_messages().

## ◆ server_guid

char* DBusConnection::server_guid

GUID of server if we are in shared_connections, NULL if server GUID is unknown or connection is private.

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

## ◆ shareable

unsigned int DBusConnection::shareable

TRUE if libdbus owns a reference to the connection and can return it from dbus_connection_open() more than once

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

Referenced by dbus_connection_close().

## ◆ slot_list

DBusDataSlotList DBusConnection::slot_list

Data stored by allocated integer ID.

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

## ◆ slot_mutex

DBusRMutex* DBusConnection::slot_mutex

Lock on slot_list so overall connection lock need not be taken.

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

## ◆ timeouts

DBusTimeoutList* DBusConnection::timeouts

Stores active timeouts.

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

Referenced by dbus_connection_set_timeout_functions().

## ◆ transport

DBusTransport* DBusConnection::transport

Object that sends/receives messages over network.

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

Referenced by _dbus_connection_get_pending_fds_count(), _dbus_connection_queue_received_message_link(), _dbus_connection_set_pending_fds_function(), 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_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(), and dbus_connection_set_windows_user_function().

## ◆ wakeup_main_data

void* DBusConnection::wakeup_main_data

Application data for wakeup_main_function.

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

Referenced by dbus_connection_set_wakeup_main_function().

## ◆ wakeup_main_function

DBusWakeupMainFunction DBusConnection::wakeup_main_function

Function to wake up the mainloop

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

Referenced by dbus_connection_set_wakeup_main_function().

## ◆ watches

DBusWatchList* DBusConnection::watches

Stores active watches.

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

Referenced by dbus_connection_set_watch_functions().

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

- dbus-connection.c