summaryrefslogtreecommitdiff
path: root/src/irmd/irm_flow.h
diff options
context:
space:
mode:
authordimitri staessens <[email protected]>2016-10-20 19:52:02 +0200
committerdimitri staessens <[email protected]>2016-10-21 14:17:51 +0200
commit02976060919566d1a217b818ca8f33297700d56d (patch)
treeb8b6d7a4ff6f3b763891b6285248d6495e267a6a /src/irmd/irm_flow.h
parentf516b51169020ea1957010fbd1005d746f01b1d9 (diff)
downloadouroboros-02976060919566d1a217b818ca8f33297700d56d.tar.gz
ouroboros-02976060919566d1a217b818ca8f33297700d56d.zip
lib: Move rbuff creation/destruction to IRMd
This stabilises flow allocation now that the rbuffs are created upon flow allocation. Only the IRMd can sync this process sufficiently.
Diffstat (limited to 'src/irmd/irm_flow.h')
-rw-r--r--src/irmd/irm_flow.h20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/irmd/irm_flow.h b/src/irmd/irm_flow.h
index 5ec6d90e..507295bd 100644
--- a/src/irmd/irm_flow.h
+++ b/src/irmd/irm_flow.h
@@ -24,6 +24,7 @@
#define OUROBOROS_IRMD_IRM_FLOW_H
#include <ouroboros/list.h>
+#include <ouroboros/shm_rbuff.h>
#include <sys/types.h>
#include <pthread.h>
@@ -38,18 +39,21 @@ enum flow_state {
};
struct irm_flow {
- struct list_head next;
+ struct list_head next;
- int port_id;
+ int port_id;
- pid_t n_api;
- pid_t n_1_api;
+ pid_t n_api;
+ pid_t n_1_api;
- struct timespec t0;
+ struct shm_rbuff * n_rb;
+ struct shm_rbuff * n_1_rb;
- enum flow_state state;
- pthread_cond_t state_cond;
- pthread_mutex_t state_lock;
+ struct timespec t0;
+
+ enum flow_state state;
+ pthread_cond_t state_cond;
+ pthread_mutex_t state_lock;
};
struct irm_flow * irm_flow_create();