diff options
author | Sander Vrijders <sander.vrijders@intec.ugent.be> | 2016-11-16 17:46:41 +0100 |
---|---|---|
committer | Sander Vrijders <sander.vrijders@intec.ugent.be> | 2016-11-19 17:18:59 +0100 |
commit | f8632a11faed3402e8255f368b8eff58f3b2eadb (patch) | |
tree | f257dcb876b3258456593a5dda3b1b806acddd01 /src/ipcpd/normal/ro.h | |
parent | df172e82d2a5058bd0af8d49b6a0854f6a2ada6a (diff) | |
download | ouroboros-f8632a11faed3402e8255f368b8eff58f3b2eadb.tar.gz ouroboros-f8632a11faed3402e8255f368b8eff58f3b2eadb.zip |
ipcpd: normal: Add syncing of RIB objects
This adds the remote syncing of RIB objects. Subscribers are notified
upon receipt of new/deleted/updated RIB objects.
Diffstat (limited to 'src/ipcpd/normal/ro.h')
-rw-r--r-- | src/ipcpd/normal/ro.h | 33 |
1 files changed, 14 insertions, 19 deletions
diff --git a/src/ipcpd/normal/ro.h b/src/ipcpd/normal/ro.h index 0dfa7e8a..6fa1db2a 100644 --- a/src/ipcpd/normal/ro.h +++ b/src/ipcpd/normal/ro.h @@ -24,38 +24,33 @@ #define OUROBOROS_IPCP_RO_H enum ro_recv_set { - ALL_MEMBERS = 0, - NEIGHBORS + NO_SYNC = 0, + NEIGHBORS, + ALL_MEMBERS }; struct ro_props { - bool enrol_sync; - enum ro_recv_set recv_set; - struct timespec * expiry; + bool enrol_sync; + enum ro_recv_set recv_set; + struct timespec expiry; }; /* All RIB-objects have a pathname, separated by a slash. */ -/* Takes ownership of the data */ -int ro_create(const char * name, - uint8_t * data, - size_t len); +/* Takes ownership of the data and props */ +int ro_create(const char * name, + struct ro_props * props, + uint8_t * data, + size_t len); int ro_delete(const char * name); -/* Reader takes ownership of data */ -ssize_t ro_read(const char * name, - uint8_t ** data); - int ro_write(const char * name, uint8_t * data, size_t len); -/* Takes ownership of the props */ -int ro_props(const char * name, - struct ro_props * props); - -/* Sync changes with other members in the DIF */ -int ro_sync(const char * name); +/* Reader takes ownership of data */ +ssize_t ro_read(const char * name, + uint8_t ** data); /* Callback passes ownership of the data */ struct ro_sub_ops { |