NetworkManager/src/core
Thomas Haller 877d2b236f
core: avoid checking sort order for cached settings list
We now have a cached list of NMSettingsConnection instances,
sorted by their autoconnect priority.

However, the sort order nm_settings_connection_cmp_autoconnect_priority()
depends on various properties of the connection:

 - "connection.autoconnect" and "connection.autoconnect-priority"
 - the timestamp
 - "connection.uuid"

These properties almost never change, so it's a waste that every call
to nm_settings_get_connections_sorted_by_autoconnect_priority() needs
to check whether the sort order is still satisfied.

We can do better by tracking when the sort order might have been
destroyed and only check in those (much fewer) cases.

Note that we end up calling nm_settings_get_connections_sorted_by_autoconnect_priority()
a lot, so this makes a difference.
2021-06-18 11:20:30 +02:00
..
devices device: remove unused variable 2021-06-11 21:58:02 +02:00
dhcp core,nm-dispatcher: use nm_utils_get_process_exit_status_desc() 2021-06-11 21:43:11 +02:00
dns dns: add function to retrieve the systemd-resolved plugin instance 2021-06-11 21:43:12 +02:00
dnsmasq core: cleanup #include of "nm-dnsmasq-utils.c" 2021-04-20 17:25:21 +02:00
ndisc clang-format: reformat code with clang 12 2021-05-04 13:56:26 +02:00
platform clang-format: reformat code with clang 12 2021-05-04 13:56:26 +02:00
ppp ppp: cleanup nm-ppp-manager-call to use const pointer and atomic operations 2021-05-06 11:34:28 +02:00
settings core: avoid checking sort order for cached settings list 2021-06-18 11:20:30 +02:00
supplicant core: avoid accessing opaque NMSetting type 2021-06-11 22:32:12 +02:00
tests systemd: merge branch systemd into main 2021-06-01 14:26:51 +02:00
vpn core: drop deprecated PropertiesChanged D-Bus signal (API BREAK) 2021-05-14 10:57:34 +02:00
main-utils.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
main-utils.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
main.c systemd: move "src/core/systemd" to "src/libnm-systemd-core" 2021-05-30 09:45:05 +02:00
meson.build systemd: move "src/core/systemd" to "src/libnm-systemd-core" 2021-05-30 09:45:05 +02:00
NetworkManagerUtils.c core/trivial: add comment about GMainContext to nm_shutdown_wait_obj_register_full() 2021-06-15 18:15:56 +02:00
NetworkManagerUtils.h core: return instance from nm_dhcp_lease_ref()/nm_dhcp_lease_unref() for convenience 2021-05-18 09:41:53 +02:00
nm-act-request.c firewall: rename NMUtilsShareRules to NMFirewallConfig 2021-05-07 11:42:51 +02:00
nm-act-request.h firewall: rename NMUtilsShareRules to NMFirewallConfig 2021-05-07 11:42:51 +02:00
nm-active-connection.c core: drop deprecated PropertiesChanged D-Bus signal (API BREAK) 2021-05-14 10:57:34 +02:00
nm-active-connection.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-audit-manager.c audit: pass and reuse NMStrBuf for build_message() 2021-04-12 16:47:37 +02:00
nm-audit-manager.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-auth-manager.c build: move "shared/nm-{glib-aux,log-null,log-core}" to "src/libnm-{glib-aux,log-null,log-core}" 2021-02-24 12:48:20 +01:00
nm-auth-manager.h build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-auth-utils.c build: move "shared/nm-{glib-aux,log-null,log-core}" to "src/libnm-{glib-aux,log-null,log-core}" 2021-02-24 12:48:20 +01:00
nm-auth-utils.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-checkpoint-manager.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-checkpoint-manager.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-checkpoint.c core: drop deprecated PropertiesChanged D-Bus signal (API BREAK) 2021-05-14 10:57:34 +02:00
nm-checkpoint.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-config-data.c libnm/trivial: rename _nm_keyfile_equals() to _nm_keyfile_equal() 2021-05-27 09:56:41 +02:00
nm-config-data.h core/format: drop /*<flags>*/ comment from enums that lead to bad formatting 2021-05-14 11:41:31 +02:00
nm-config.c core: belatedly add [main].firewall-backend config to known options 2021-06-04 10:27:20 +02:00
nm-config.h config: add "nm-base/nm-config-base.h" 2021-03-15 17:10:52 +01:00
nm-connectivity.c dns: add function to retrieve the systemd-resolved plugin instance 2021-06-11 21:43:12 +02:00
nm-connectivity.h core: move NMPObjectType to "libnm-platform/nmp-base.h" 2021-03-05 11:27:15 +01:00
nm-core-utils.c core: add infrastructure for spawning a helper process 2021-06-11 21:43:12 +02:00
nm-core-utils.h core: add infrastructure for spawning a helper process 2021-06-11 21:43:12 +02:00
nm-dbus-manager.c core: drop deprecated PropertiesChanged D-Bus signal (API BREAK) 2021-05-14 10:57:34 +02:00
nm-dbus-manager.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-dbus-object.c core: return boolean result from nm_dbus_object_clear_and_unexport() 2021-04-20 17:25:21 +02:00
nm-dbus-object.h core: drop deprecated PropertiesChanged D-Bus signal (API BREAK) 2021-05-14 10:57:34 +02:00
nm-dbus-utils.c core: drop deprecated PropertiesChanged D-Bus signal (API BREAK) 2021-05-14 10:57:34 +02:00
nm-dbus-utils.h core: drop deprecated PropertiesChanged D-Bus signal (API BREAK) 2021-05-14 10:57:34 +02:00
nm-dcb.c platform: move more platform code to src/libnm-platform/ 2021-03-05 11:27:16 +01:00
nm-dcb.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-default-daemon.h build: move "shared/nm-{glib-aux,log-null,log-core}" to "src/libnm-{glib-aux,log-null,log-core}" 2021-02-24 12:48:20 +01:00
nm-dhcp-config.c core: drop deprecated PropertiesChanged D-Bus signal (API BREAK) 2021-05-14 10:57:34 +02:00
nm-dhcp-config.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-dispatcher.c all: use nm_g_variant_new_au() helper 2021-04-16 11:44:20 +02:00
nm-dispatcher.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-firewall-utils.c firewall: fix double free 2021-06-15 19:40:59 +02:00
nm-firewall-utils.h firewall: add special firewall-backend "none" 2021-05-14 11:41:33 +02:00
nm-firewalld-manager.c firewall: rename NMFirewallManager to NMFirewalldManager 2021-05-06 12:22:37 +02:00
nm-firewalld-manager.h firewall: rename NMFirewallManager to NMFirewalldManager 2021-05-06 12:22:37 +02:00
nm-hostname-manager.c clang-format: reformat code with clang 12 2021-05-04 13:56:26 +02:00
nm-hostname-manager.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-iface-helper.c systemd: move "src/core/systemd" to "src/libnm-systemd-core" 2021-05-30 09:45:05 +02:00
nm-ip-config.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-ip-config.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-ip4-config.c core: drop deprecated PropertiesChanged D-Bus signal (API BREAK) 2021-05-14 10:57:34 +02:00
nm-ip4-config.h platform: move more platform code to src/libnm-platform/ 2021-03-05 11:27:16 +01:00
nm-ip6-config.c core: drop deprecated PropertiesChanged D-Bus signal (API BREAK) 2021-05-14 10:57:34 +02:00
nm-ip6-config.h platform: move more platform code to src/libnm-platform/ 2021-03-05 11:27:16 +01:00
nm-keep-alive.c build: move "shared/nm-{glib-aux,log-null,log-core}" to "src/libnm-{glib-aux,log-null,log-core}" 2021-02-24 12:48:20 +01:00
nm-keep-alive.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-l3-config-data.c l3cfg: use NMRefString for strings in NML3ConfigData 2021-05-27 09:56:45 +02:00
nm-l3-config-data.h l3cfg: add proxy properties to NML3ConfigData 2021-05-27 09:56:44 +02:00
nm-l3-ipv4ll.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-l3-ipv4ll.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-l3cfg.c l3cfg: minor adjustments for L3Cfg code 2021-05-27 10:06:44 +02:00
nm-l3cfg.h l3cfg: minor adjustments for L3Cfg code 2021-05-27 10:06:44 +02:00
nm-manager.c core: add nm_settings_get_connection_sorted_by_autoconnect_priority() 2021-06-17 17:48:13 +02:00
nm-manager.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-netns.c glib-aux/trivial: rename nm_{pint,puint32}_equals() to nm_\1_equal() 2021-05-27 09:56:40 +02:00
nm-netns.h platform: move more platform code to src/libnm-platform/ 2021-03-05 11:27:16 +01:00
nm-pacrunner-manager.c l3cfg: add proxy properties to NML3ConfigData 2021-05-27 09:56:44 +02:00
nm-pacrunner-manager.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-policy.c firewall: rename NMFirewallManager to NMFirewalldManager 2021-05-06 12:22:37 +02:00
nm-policy.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-proxy-config.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-proxy-config.h l3cfg: add proxy properties to NML3ConfigData 2021-05-27 09:56:44 +02:00
nm-rfkill-manager.c build: move "shared/nm-{base,udev-aux}" to "src/libnm-{base,udev-aux}" 2021-02-24 12:48:19 +01:00
nm-rfkill-manager.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-session-monitor.c all: add "src/core/nm-default-daemon.h" as replacement for "nm-default.h" 2021-02-09 12:38:18 +01:00
nm-session-monitor.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-sleep-monitor.c clang-format: reformat code with clang 12 2021-05-04 13:56:26 +02:00
nm-sleep-monitor.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-test-utils-core.h tests: move nmtst_init_with_logging() to "libnm-glib-aux/nm-test-utils.h" 2021-03-15 17:10:52 +01:00
nm-types.h systemd: move "src/core/systemd" to "src/libnm-systemd-core" 2021-05-30 09:45:05 +02:00
org.freedesktop.NetworkManager.conf all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00