summaryrefslogtreecommitdiff
path: root/src/irmd/registry.h
diff options
context:
space:
mode:
authordimitri staessens <[email protected]>2017-02-12 16:15:46 +0100
committerdimitri staessens <[email protected]>2017-02-12 22:19:50 +0100
commit98a15feabb6a14e52a54a09dfed58d55e0f99884 (patch)
tree0a67e3eb076558b6408d5744d74808e756e0639d /src/irmd/registry.h
parent2ee140ec27335ca50e813080ee0e85e4ab86af37 (diff)
downloadouroboros-98a15feabb6a14e52a54a09dfed58d55e0f99884.tar.gz
ouroboros-98a15feabb6a14e52a54a09dfed58d55e0f99884.zip
irmd: Allow time for AP to call flow_accept()
When there is a burst of successive flow allocations for a certain name, each such request will block a thread in the IRMD for IRMD_REQ_ARR_TIMEOUT ms to allow the application some time to respond. This refactors some parts of the IRMd.
Diffstat (limited to 'src/irmd/registry.h')
-rw-r--r--src/irmd/registry.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/irmd/registry.h b/src/irmd/registry.h
index 7713e278..67e4da40 100644
--- a/src/irmd/registry.h
+++ b/src/irmd/registry.h
@@ -91,11 +91,16 @@ pid_t reg_entry_get_api(struct reg_entry * e);
enum reg_name_state reg_entry_get_state(struct reg_entry * e);
-int reg_entry_set_state(struct reg_entry * e,
+int reg_entry_set_state(struct reg_entry * e,
enum reg_name_state state);
-int reg_entry_leave_state(struct reg_entry * e,
- enum reg_name_state state);
+int reg_entry_leave_state(struct reg_entry * e,
+ enum reg_name_state state,
+ struct timespec * timeout);
+
+int reg_entry_wait_state(struct reg_entry * e,
+ enum reg_name_state state,
+ struct timespec * timeout);
struct reg_entry * registry_add_name(struct list_head * registry,
char * name);