summaryrefslogtreecommitdiffstats
path: root/src/providers/dp_backend.h
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2013-05-31 22:00:17 +0200
committerJakub Hrozek <jhrozek@redhat.com>2013-06-04 17:24:13 +0200
commit044aff9bd41e0126b89f1ad672e196c3aa1654b7 (patch)
tree4f0a0fd4e401d9b4742c7c8d9ab7e7f197e9af00 /src/providers/dp_backend.h
parent909a86af4eb99f5d311d7136cab78dca535ae304 (diff)
downloadsssd-044aff9bd41e0126b89f1ad672e196c3aa1654b7.tar.gz
sssd-044aff9bd41e0126b89f1ad672e196c3aa1654b7.tar.xz
sssd-044aff9bd41e0126b89f1ad672e196c3aa1654b7.zip
Add be request queue
For some backend targets it might be not desirable to run requests in parallel but to serialize them. To avoid that each provider has to implement a queue for this target this patch implements a generic queue which collects incoming requests before they are send to the target.
Diffstat (limited to 'src/providers/dp_backend.h')
-rw-r--r--src/providers/dp_backend.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/providers/dp_backend.h b/src/providers/dp_backend.h
index e0e2210c3..9a8df4cd8 100644
--- a/src/providers/dp_backend.h
+++ b/src/providers/dp_backend.h
@@ -68,11 +68,22 @@ struct loaded_be {
void *handle;
};
+struct bet_queue_item {
+ struct bet_queue_item *prev;
+ struct bet_queue_item *next;
+
+ TALLOC_CTX *mem_ctx;
+ struct be_req *be_req;
+ be_req_fn_t fn;
+
+};
+
struct bet_info {
enum bet_type bet_type;
struct bet_ops *bet_ops;
void *pvt_bet_data;
char *mod_name;
+ struct bet_queue_item *req_queue;
};
struct be_offline_status {