DBusConnection Struct Reference
[DBusConnection implementation details]

Implementation details of DBusConnection. More...


Data Fields

DBusAtomic refcount
 Reference count.
DBusMutexmutex
 Lock on the entire DBusConnection.
DBusMutexdispatch_mutex
 Protects dispatch_acquired.
DBusCondVardispatch_cond
 Notify when dispatch_acquired is available.
DBusMutexio_path_mutex
 Protects io_path_acquired.
DBusCondVario_path_cond
 Notify when io_path_acquired is available.
DBusListoutgoing_messages
 Queue of messages we need to send, send the end of the list first.
DBusListincoming_messages
 Queue of messages we have received, end of the list received most recently.
DBusMessagemessage_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.
int n_incoming
 Length of incoming queue.
DBusCounteroutgoing_counter
 Counts size of outgoing messages.
DBusTransporttransport
 Object that sends/receives messages over network.
DBusWatchListwatches
 Stores active watches.
DBusTimeoutListtimeouts
 Stores active timeouts.
DBusListfilter_list
 List of filters.
DBusDataSlotList slot_list
 Data stored by allocated integer ID.
DBusHashTablepending_replies
 Hash of message serials to DBusPendingCall.
dbus_uint32_t client_serial
 Client serial.
DBusListdisconnect_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.
DBusListlink_cache
 A cache of linked list links to prevent contention for the global linked list mempool lock.
DBusObjectTreeobjects
 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.
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 dispatch_acquired: 1
 Someone has dispatch path (can drain incoming queue).
unsigned int io_path_acquired: 1
 Someone has transport io path (can use the transport to read/write messages).
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.
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 231 of file dbus-connection.c.


Field Documentation

DBusAtomic DBusConnection::refcount

Reference count.

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

DBusList* DBusConnection::outgoing_messages

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

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

DBusList* DBusConnection::incoming_messages

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

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

int DBusConnection::n_outgoing

Length of outgoing queue.

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

Referenced by _dbus_connection_do_iteration_unlocked(), and _dbus_connection_message_sent().

int DBusConnection::n_incoming

Length of incoming queue.

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

DBusCounter* DBusConnection::outgoing_counter

Counts size of outgoing messages.

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

Referenced by _dbus_connection_message_sent(), _dbus_connection_new_for_transport(), and dbus_connection_get_outgoing_size().

DBusTransport* DBusConnection::transport

Object that sends/receives messages over network.

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

Referenced by _dbus_connection_handle_watch(), _dbus_connection_new_for_transport(), _dbus_connection_queue_received_message_link(), dbus_connection_get_is_authenticated(), dbus_connection_get_max_message_size(), dbus_connection_get_max_received_size(), dbus_connection_get_socket(), dbus_connection_get_unix_fd(), dbus_connection_get_unix_process_id(), dbus_connection_get_unix_user(), dbus_connection_set_max_message_size(), dbus_connection_set_max_received_size(), dbus_connection_set_unix_user_function(), and dbus_connection_unref().

DBusWatchList* DBusConnection::watches

Stores active watches.

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

Referenced by _dbus_connection_new_for_transport(), and dbus_connection_set_watch_functions().

DBusTimeoutList* DBusConnection::timeouts

Stores active timeouts.

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

Referenced by _dbus_connection_new_for_transport(), and dbus_connection_set_timeout_functions().

DBusList* DBusConnection::filter_list

List of filters.

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

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

DBusHashTable* DBusConnection::pending_replies

Hash of message serials to DBusPendingCall.

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

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

dbus_uint32_t DBusConnection::client_serial

Client serial.

Increments each time a message is sent

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

Referenced by _dbus_connection_new_for_transport().

DBusDispatchStatus DBusConnection::last_dispatch_status

The last dispatch status we reported to the application.

Definition at line 275 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 293 of file dbus-connection.c.

Referenced by _dbus_connection_new_for_transport().


The documentation for this struct was generated from the following file:
Generated on Fri Apr 13 19:39:18 2007 for D-Bus by  doxygen 1.5.2