summaryrefslogtreecommitdiffstats
path: root/ctrl/facemgr/src/util/map.h
diff options
context:
space:
mode:
authorJordan Augé <jordan.auge@cisco.com>2019-10-30 17:56:08 +0100
committerJordan Augé <jordan.auge@cisco.com>2019-10-31 13:41:47 +0100
commit95170bf3a69597b49238bb7ff396d41f6dc94f30 (patch)
tree2f9b565e84514d7ee25cfd874235dd25e9300a0f /ctrl/facemgr/src/util/map.h
parentfc6dfe9f7ee02834ae1e6f56e0aaee36ac3e88dd (diff)
[HICN-369] Implement reconciliation state machine in face manager incl. reattempts in case of errors
Change-Id: Ia4ecf621fbd513d9e29313d2aaa487aa65811183 Signed-off-by: Jordan Augé <jordan.auge@cisco.com>
Diffstat (limited to 'ctrl/facemgr/src/util/map.h')
-rw-r--r--ctrl/facemgr/src/util/map.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/ctrl/facemgr/src/util/map.h b/ctrl/facemgr/src/util/map.h
index b113954a6..19a308d86 100644
--- a/ctrl/facemgr/src/util/map.h
+++ b/ctrl/facemgr/src/util/map.h
@@ -108,6 +108,16 @@ NAME ## _initialize(NAME ## _t * map)
int \
NAME ## _finalize(NAME ## _t * map) \
{ \
+ NAME ## _pair_t ** array; \
+ int n = NAME ## _pair_set_get_array(&map->pair_set, &array); \
+ if (n < 0) \
+ return -1; \
+ for (unsigned i = 0; i < n; i++) { \
+ NAME ## _pair_t * pair = array[i]; \
+ NAME ## _pair_set_remove(&map->pair_set, pair, NULL); \
+ NAME ## _pair_free(pair); \
+ } \
+ free(array); \
return NAME ## _pair_set_finalize(&map->pair_set); \
} \
\