feature(routes): Add rtable update
[ric-plt/lib/rmr.git] / src / common / include / rmr_agnostic.h
index 06da060..418ebbc 100644 (file)
@@ -168,6 +168,8 @@ typedef struct {
        round robin messags across the list.
 */
 typedef struct {
+       uint64_t key;                   // key used to reinsert this entry into a new symtab
+       int     refs;                           // number of symtabs which reference the entry
        int mtype;                              // the message type for this list
        int     nrrgroups;                      // number of rr groups to send to
        rrgroup_t**     rrgroups;       // one or more set of endpoints to round robin messages to
@@ -178,6 +180,7 @@ typedef struct {
 */
 typedef struct {
        void*   hash;                   // hash table.
+       int             updates;                // counter of update records received
 } route_table_t;
 
 /*
@@ -236,6 +239,7 @@ static void del_rte( void* st, void* entry, char const* name, void* thing, void*
 static char* uta_fib( char* fname );
 static route_table_t* uta_rt_init( );
 static route_table_t* uta_rt_clone( route_table_t* srt );
+static route_table_t* uta_rt_clone_all( route_table_t* srt );
 static void uta_rt_drop( route_table_t* rt );
 static endpoint_t*  uta_add_ep( route_table_t* rt, rtable_ent_t* rte, char* ep_name, int group  );
 static rtable_ent_t* uta_add_rte( route_table_t* rt, uint64_t key, int nrrgroups );