summaryrefslogtreecommitdiff
path: root/src/ipcpd/normal/pol/complete.h
diff options
context:
space:
mode:
authorSander Vrijders <[email protected]>2017-02-23 14:31:31 +0100
committerSander Vrijders <[email protected]>2017-03-03 11:20:40 +0100
commita409fd81dfc6d22f9a287f15394b86490dea5273 (patch)
treecec27d3c2064f0c0bcb564060d9d9012f819b22f /src/ipcpd/normal/pol/complete.h
parent46c2f9d5363cdff2d99cf1b1c4a41c5bf97d2c03 (diff)
downloadouroboros-a409fd81dfc6d22f9a287f15394b86490dea5273.tar.gz
ouroboros-a409fd81dfc6d22f9a287f15394b86490dea5273.zip
ipcpd: normal: Refactor application entities and add neighbors struct
This refactors the different Application Entities of the normal IPCP. They all listen to and use the connection manager to establish new application connections. This commit also adds a neighbors struct to the normal IPCP. It contains neighbor structs that contain application connection. Notifiers can be registered in case a neighbor changes (added, removed, QoS changed). The flow manager has an instance of this neighbors struct and listens to these events to update its flow set. The routing component also listens to these events so that it can update the FSDB if needed. The flow manager now also creates the PFF instances and the routing instances per QoS cube. The RIB manager also uses this an instance of the neighbors struct and listens to neighbor events as well.
Diffstat (limited to 'src/ipcpd/normal/pol/complete.h')
-rw-r--r--src/ipcpd/normal/pol/complete.h29
1 files changed, 9 insertions, 20 deletions
diff --git a/src/ipcpd/normal/pol/complete.h b/src/ipcpd/normal/pol/complete.h
index 8fe1437f..40aca69d 100644
--- a/src/ipcpd/normal/pol/complete.h
+++ b/src/ipcpd/normal/pol/complete.h
@@ -1,7 +1,7 @@
/*
* Ouroboros - Copyright (C) 2016 - 2017
*
- * Graph adjacency manager for IPC Process components
+ * Sets up a complete graph
*
* Dimitri Staessens <[email protected]>
* Sander Vrijders <[email protected]>
@@ -23,30 +23,19 @@
#ifndef OUROBOROS_IPCPD_NORMAL_POL_COMPLETE_H
#define OUROBOROS_IPCPD_NORMAL_POL_COMPLETE_H
-#include "gam.h"
-#include "pol-gam-ops.h"
-
-void * complete_create(struct gam * instance);
-
-void complete_destroy(void * o);
+#include <ouroboros/irm_config.h>
+#include <ouroboros/qos.h>
-int complete_start(void * o);
-
-int complete_stop(void * o);
+#include "pol-gam-ops.h"
-int complete_accept_new_flow(void * o);
+void * complete_create(struct nbs * nbs,
+ struct ae * ae);
-int complete_accept_flow(void * o,
- qosspec_t qs,
- const struct conn_info * info);
+void complete_destroy(void * ops_o);
struct pol_gam_ops complete_ops = {
- .create = complete_create,
- .destroy = complete_destroy,
- .start = complete_start,
- .stop = complete_stop,
- .accept_new_flow = complete_accept_new_flow,
- .accept_flow = complete_accept_flow
+ .create = complete_create,
+ .destroy = complete_destroy
};
#endif /* OUROBOROS_IPCPD_NORMAL_POL_COMPLETE_H */