NetworkManager/shared
Thomas Haller 22edeb5b69 core: track addresses for NMIP4Config/NMIP6Config via NMDedupMultiIndex
Reasons:

 - it adds an O(1) lookup index for accessing NMIPxConfig's addresses.
   Hence, operations like merge/intersect have now runtime O(n) instead
   of O(n^2).
   Arguably, we expect low numbers of addresses in general. For low
   numbers, the O(n^2) doesn't matter and quite likely in those cases
   the previous implementation was just fine -- maybe even faster.
   But the simple case works fine either way. It's important to scale
   well in the exceptional case.
 - the tracked objects can be shared between the various NMPI4Config,
   NMIP6Config instances with NMPlatform and everybody else.
 - the NMPObject can be treated generically, meaning it enables code to
   handle both IPv4 and IPv6, or addresses and routes. See for example
   _nm_ip_config_add_obj().
 - I want core to evolve to somewhere where we don't keep copies of
   NMPlatformIP4Address, et al. instances. Instead they shall all be
   shared. I hope this will reduce memory consumption (although tracking a
   reference consumes some memory too). Also, it shortcuts nmp_object_equal()
   when comparing the same object. Calling nmp_object_equal() on the
   identical objects would be a common case after the hash function
   pre-evaluates equality.
2017-07-25 06:44:12 +02:00
..
nm-utils core: track addresses for NMIP4Config/NMIP6Config via NMDedupMultiIndex 2017-07-25 06:44:12 +02:00
nm-common-macros.h all: modify line separator comments to be 80 chars wide 2016-10-03 12:01:15 +02:00
nm-dbus-compat.h build: rename directory "include" to "shared" 2015-12-24 11:42:37 +01:00
nm-default.h build: disable type checks in G_TYPE_CHECK_INSTANCE_CAST() macros (bgo#771120) 2016-09-12 13:53:34 +02:00
nm-dispatcher-api.h build: cleanup src/Makefile.am 2016-08-11 11:54:18 +02:00
nm-meta-setting.c cli: don't mark field names for translation 2017-04-23 23:45:02 +02:00
nm-meta-setting.h cli: add meta data for NMSettingGeneric 2017-04-12 14:12:20 +02:00
nm-test-libnm-utils.h shared: move shared files to subdirectory "shared/nm-utils/" 2016-06-16 10:45:53 +02:00
nm-test-utils-impl.c build: allow specifying the python interpreter for building 2016-12-14 19:00:42 +01:00
nm-version-macros.h.in release: bump version to 1.9.0 (development) 2017-03-28 16:34:22 +02:00