diff options
author | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2017-02-12 16:15:46 +0100 |
---|---|---|
committer | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2017-02-12 22:19:50 +0100 |
commit | 98a15feabb6a14e52a54a09dfed58d55e0f99884 (patch) | |
tree | 0a67e3eb076558b6408d5744d74808e756e0639d /src/irmd/registry.h | |
parent | 2ee140ec27335ca50e813080ee0e85e4ab86af37 (diff) | |
download | ouroboros-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.h | 11 |
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); |