Philip Withnall
4a488ced5d
gnetworkmonitorbase: Use a hash table for storing networks
...
Rather than using an array, which requires a lot of iteration over it to
check whether a particular network is present. Using a hash table only
requires iteration in the can_reach() case, where we need to match a
mask in the networks array, rather than equal it.
This should improve performance for large numbers of routes.
Signed-off-by: Philip Withnall <withnall@endlessm.com >
Fixes : #1925
2020-01-22 11:14:34 +00:00
..
2019-10-07 09:21:19 +02:00
2019-05-30 10:38:45 +01:00
2020-01-15 09:37:41 -08:00
2019-07-23 11:41:42 +00:00
2019-10-08 13:49:40 +01:00
2019-11-27 22:49:56 +08:00
2020-01-22 10:19:03 +02:00
2019-10-06 20:05:44 +02:00
2019-09-13 12:13:49 +01:00
2017-11-10 11:47:57 +00:00
2019-08-24 19:14:05 +00:00
2019-12-10 15:15:13 -05:00
2019-10-25 15:09:08 +02:00
2017-05-29 19:53:34 +02:00
2019-07-29 13:21:51 +00:00
2017-10-26 18:51:51 +02:00
2019-03-08 19:46:21 +00:00
2019-05-30 10:39:11 +01:00
2019-07-10 10:10:49 -04:00
2019-07-15 16:07:18 -07:00
2017-05-29 19:53:34 +02:00
2017-05-29 19:53:34 +02:00
2019-11-29 20:56:38 +01:00
2019-04-23 17:10:12 +02:00
2019-07-24 14:50:53 +01:00
2019-07-10 10:29:04 -04:00
2017-05-29 19:53:34 +02:00
2019-08-24 19:14:05 +00:00
2019-10-28 19:55:47 +00:00
2017-05-29 19:53:34 +02:00
2019-10-28 19:56:00 +00:00
2017-05-29 19:53:34 +02:00
2019-03-08 19:46:21 +00:00
2017-05-29 19:53:34 +02:00
2019-04-11 18:03:50 +02:00
2017-05-29 19:53:34 +02:00
2019-10-08 13:53:01 +01:00
2019-10-28 19:56:00 +00:00
2017-05-29 19:53:34 +02:00
2018-03-13 12:09:01 +00:00
2018-04-25 17:23:50 +02:00
2017-05-29 19:53:34 +02:00
2019-10-28 20:17:07 +00:00
2019-06-17 16:29:09 -07:00
2020-01-20 15:13:52 +00:00
2019-07-23 11:34:59 +01:00
2019-09-05 14:17:08 +01:00
2019-08-24 19:14:05 +00:00
2017-05-29 19:53:34 +02:00
2019-06-17 16:29:09 -07:00
2017-05-29 19:53:34 +02:00
2018-11-06 14:44:40 +01:00
2017-05-29 19:53:34 +02:00
2019-11-18 17:53:55 +00:00
2017-05-29 19:53:34 +02:00
2018-01-12 15:29:29 +00:00
2017-05-29 19:53:34 +02:00
2020-01-20 15:13:52 +00:00
2020-01-20 19:19:30 +00:00
2019-08-24 19:14:05 +00:00
2019-06-17 16:13:53 -07:00
2019-06-17 16:29:09 -07:00
2017-05-29 19:53:34 +02:00
2020-01-21 11:07:21 +00:00
2017-12-04 11:42:58 +00:00
2017-05-29 19:53:34 +02:00
2017-05-29 19:53:34 +02:00
2017-05-29 19:53:34 +02:00
2019-10-10 14:55:20 +00:00
2019-03-12 21:53:29 +03:00
2019-06-18 10:30:37 +00:00
2017-05-29 19:53:34 +02:00
2019-10-28 20:47:04 +00:00
2017-05-29 19:53:34 +02:00
2019-07-29 12:27:29 +01:00
2019-08-21 20:08:04 +03:00
2017-05-29 19:53:34 +02:00
2019-10-11 22:31:24 +01:00
2019-05-30 10:38:45 +01:00
2019-12-17 21:03:03 +08:00
2019-01-25 14:06:46 +08:00
2019-06-17 16:13:53 -07:00
2020-01-07 14:52:20 -06:00
2019-05-30 10:39:11 +01:00
2017-05-29 19:53:34 +02:00
2017-05-29 19:53:34 +02:00
2020-01-15 16:38:52 +02:00
2019-10-06 13:18:44 +00:00
2019-09-30 14:40:55 +01:00
2017-05-29 19:53:34 +02:00
2019-04-26 12:12:31 +01:00
2017-05-29 19:53:34 +02:00
2017-05-29 19:53:34 +02:00
2019-10-06 13:17:59 +00:00
2019-11-21 11:24:08 +00:00
2017-05-29 19:53:34 +02:00
2019-06-17 16:29:09 -07:00
2019-06-17 16:13:53 -07:00
2017-05-29 19:53:34 +02:00
2017-05-29 19:53:34 +02:00
2017-05-29 19:53:34 +02:00
2017-06-09 16:45:09 +01:00
2017-05-29 19:53:34 +02:00
2019-05-30 10:39:11 +01:00
2019-07-10 10:10:49 -04:00
2019-03-22 13:20:41 +00:00
2019-09-05 14:16:58 +01:00
2019-03-26 16:40:28 +01:00
2018-06-21 11:44:28 -05:00
2019-06-18 17:29:41 +08:00
2018-05-28 13:50:55 +02:00
2019-09-30 14:40:50 +01:00
2019-12-17 11:07:10 +01:00
2018-05-28 13:50:55 +02:00
2019-11-27 13:37:51 +01:00
2018-05-28 13:50:55 +02:00
2018-05-28 13:50:55 +02:00
2018-05-28 13:50:55 +02:00
2019-06-18 17:29:41 +08:00
2019-12-11 11:48:41 +00:00
2020-01-07 18:29:53 +01:00
2013-01-13 13:05:15 -05:00
2019-03-16 15:58:16 +00:00
2019-12-12 18:29:07 +00:00
2019-09-10 10:16:03 +03:00
2019-12-11 11:44:42 +00:00
2020-01-15 18:04:14 +00:00
2019-07-15 12:50:45 +00:00
2019-08-24 15:44:59 +02:00
2019-08-14 10:38:23 +02:00
2019-06-21 15:53:51 +00:00
2019-09-25 08:37:22 +02:00
2019-09-25 08:37:22 +02:00
2019-09-30 14:40:55 +01:00
2019-11-21 10:31:43 +00:00
2019-10-11 22:31:24 +01:00
2019-10-11 22:31:24 +01:00
2020-01-21 19:54:55 +04:00
2019-11-26 12:17:04 +00:00
2019-06-17 16:29:09 -07:00
2019-06-17 16:29:09 -07:00
2019-06-17 16:29:09 -07:00
2020-01-07 18:29:53 +01:00
2019-12-11 11:44:42 +00:00
2019-12-11 11:44:42 +00:00
2019-12-11 11:44:42 +00:00
2019-12-11 11:44:42 +00:00
2019-12-11 11:44:42 +00:00
2017-05-29 19:53:34 +02:00
2017-05-29 19:53:34 +02:00
2019-06-17 16:29:09 -07:00
2019-08-24 19:14:05 +00:00
2019-06-17 16:29:09 -07:00
2019-08-24 19:14:05 +00:00
2019-07-10 10:29:04 -04:00
2019-07-29 17:28:01 +02:00
2020-01-22 11:14:34 +00:00
2019-08-24 15:55:49 +02:00
2019-07-29 17:28:01 +02:00
2018-05-25 03:06:07 +00:00
2019-08-24 19:14:05 +00:00
2017-05-29 19:53:34 +02:00
2019-07-04 16:23:44 +00:00
2019-07-24 14:50:53 +01:00
2019-03-15 11:09:32 +00:00
2017-05-29 19:53:34 +02:00
2017-05-29 19:53:34 +02:00
2017-05-29 19:53:34 +02:00
2019-07-15 13:01:56 +01:00
2019-07-15 13:01:56 +01:00
2019-06-10 00:03:25 +00:00
2019-04-29 11:33:02 +01:00
2019-03-15 11:09:32 +00:00
2019-10-01 14:35:43 +02:00
2017-05-29 19:53:34 +02:00
2019-10-10 14:32:18 +01:00
2018-12-11 16:09:29 -05:00
2019-06-18 17:29:41 +08:00
2019-07-08 10:48:23 +00:00
2019-05-06 16:26:53 +02:00
2019-04-26 12:12:31 +01:00
2017-05-29 19:53:34 +02:00
2019-06-18 17:29:41 +08:00
2019-09-14 23:11:57 +02:00
2019-08-27 11:09:08 +03:00
2017-05-29 19:53:34 +02:00
2019-01-20 21:03:35 -05:00
2018-06-19 19:18:58 +03:00
2020-01-16 10:20:34 +00:00
2017-05-29 19:53:34 +02:00
2019-06-17 16:13:53 -07:00
2019-03-16 11:30:13 +00:00
2019-11-04 15:09:15 +00:00
2019-01-24 16:25:50 +02:00
2019-03-15 11:09:32 +00:00
2020-01-07 15:05:22 +00:00
2019-03-15 11:09:32 +00:00
2019-03-15 11:09:32 +00:00
2019-03-08 19:46:21 +00:00
2017-05-29 19:53:34 +02:00
2017-05-29 19:53:34 +02:00
2019-06-17 16:29:09 -07:00
2019-05-31 12:51:59 +03:00
2017-05-29 19:53:34 +02:00
2019-06-17 16:29:09 -07:00
2017-05-29 19:53:34 +02:00
2017-05-29 19:53:34 +02:00
2017-05-29 19:53:34 +02:00
2017-05-29 19:53:34 +02:00
2019-05-31 23:38:58 +01:00
2017-05-29 19:53:34 +02:00
2019-08-29 00:15:03 +02:00
2017-05-29 19:53:34 +02:00
2019-12-11 12:30:47 +00:00
2019-11-15 10:37:42 +00:00
2019-07-03 20:28:36 -07:00
2019-03-22 13:32:14 +00:00
2019-02-27 10:41:32 -05:00
2019-06-17 16:29:09 -07:00
2018-09-03 13:55:57 +10:00
2018-09-03 13:55:57 +10:00
2019-10-02 10:12:40 -07:00
2019-10-02 10:12:40 -07:00
2019-11-18 21:14:37 +00:00
2020-01-07 14:52:20 -06:00
2019-05-30 10:39:11 +01:00
2019-04-26 12:12:31 +01:00
2017-05-29 19:53:34 +02:00
2019-08-24 19:14:05 +00:00
2017-05-29 19:53:34 +02:00
2019-12-10 15:16:33 -05:00
2019-08-26 13:41:26 +03:00
2019-06-11 11:06:35 +01:00
2019-03-15 11:09:32 +00:00
2019-03-15 11:09:32 +00:00
2017-08-03 10:21:13 +01:00
2019-10-04 13:23:25 -07:00
2020-01-21 19:54:55 +04:00
2020-01-21 19:54:55 +04:00
2019-08-27 08:21:25 +03:00
2019-04-26 12:12:31 +01:00
2019-06-17 16:13:53 -07:00
2019-05-30 10:38:45 +01:00
2019-06-17 16:13:53 -07:00
2020-01-15 18:04:14 +00:00
2017-05-29 19:53:34 +02:00
2017-05-29 19:53:34 +02:00
2017-05-29 19:53:34 +02:00
2018-06-12 12:45:35 +01:00
2017-05-29 19:53:34 +02:00
2017-05-29 19:53:34 +02:00
2017-06-01 11:00:28 +00:00
2017-05-29 19:53:34 +02:00
2019-12-17 20:48:22 +08:00
2019-12-17 20:48:22 +08:00
2019-12-17 20:48:22 +08:00
2019-12-17 20:48:22 +08:00
2019-04-26 12:12:31 +01:00