mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-01-02 03:00:37 +01:00
libnm: deprecate nm_client_check_connectivity() in 1.22
The previous commit marks all synchronous libnm API as deprecated.
In practice, the macro _NM_DEPRECATED_SYNC_METHOD expands to
nothing, because there is no immediate urgency to force users
to migrate.
However nm_client_check_connectivity() is especially bad: it
makes a synchronous call and then updates the content of the
cache artificially. Usually, NMClient's cache of D-Bus objects
is only updated by "PropertiesChanged" D-Bus signals.
nm_client_check_connectivity() instead will act on the response to
the "CheckConnectivity" D-Bus call -- a response that is picked
out of order from the ordered sequence of messages -- and will
update the cache instead of honoring the usual "PropertiesChanged"
signal.
I think such behavior is fundamentally broken. For a trivial property like
NM_CLIENT_CONNECTIVITY such behavior is odd at best. Note how applying
this approach to other functions (like nm_client_deactivate_connection(),
which would affect a much larger state) would not be feasible.
I also imagine it to be complicate to preserve this behavior when
reworking libnm, as I plan to do.
See also commit b799de281b ('libnm: update property in the manager
after connectivity check'), which introduced this behavior to "fix"
bgo#784629.
This commit is contained in:
parent
e90684a169
commit
f45aeba402
1 changed files with 1 additions and 0 deletions
|
|
@ -292,6 +292,7 @@ NMClientPermissionResult nm_client_get_permission_result (NMClient *client,
|
|||
NMConnectivityState nm_client_get_connectivity (NMClient *client);
|
||||
|
||||
_NM_DEPRECATED_SYNC_METHOD
|
||||
NM_DEPRECATED_IN_1_22
|
||||
NMConnectivityState nm_client_check_connectivity (NMClient *client,
|
||||
GCancellable *cancellable,
|
||||
GError **error);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue