diff options
Diffstat (limited to 'source/lib/async_req.c')
-rw-r--r-- | source/lib/async_req.c | 84 |
1 files changed, 4 insertions, 80 deletions
diff --git a/source/lib/async_req.c b/source/lib/async_req.c index 501a6b5524..2e85d9a38d 100644 --- a/source/lib/async_req.c +++ b/source/lib/async_req.c @@ -19,20 +19,6 @@ #include "includes.h" -/** - * @brief Print an async_req structure - * @param[in] mem_ctx The memory context for the result - * @param[in] req The request to be printed - * @retval Text representation of req - * - * This is a default print function for async requests. Implementations should - * override this with more specific information. - * - * This function should not be used by async API users, this is non-static - * only to allow implementations to easily provide default information in - * their specific functions. - */ - char *async_req_print(TALLOC_CTX *mem_ctx, struct async_req *req) { return talloc_asprintf(mem_ctx, "async_req: state=%d, status=%s, " @@ -40,15 +26,6 @@ char *async_req_print(TALLOC_CTX *mem_ctx, struct async_req *req) talloc_get_name(req->private_data)); } -/** - * @brief Create an async request - * @param[in] mem_ctx The memory context for the result - * @param[in] ev The event context this async request will be driven by - * @retval A new async request - * - * The new async request will be initialized in state ASYNC_REQ_IN_PROGRESS - */ - struct async_req *async_req_new(TALLOC_CTX *mem_ctx, struct event_context *ev) { struct async_req *result; @@ -63,15 +40,6 @@ struct async_req *async_req_new(TALLOC_CTX *mem_ctx, struct event_context *ev) return result; } -/** - * @brief An async request has successfully finished - * @param[in] req The finished request - * - * async_req_done is to be used by implementors of async requests. When a - * request is successfully finished, this function calls the user's completion - * function. - */ - void async_req_done(struct async_req *req) { req->status = NT_STATUS_OK; @@ -81,16 +49,6 @@ void async_req_done(struct async_req *req) } } -/** - * @brief An async request has seen an error - * @param[in] req The request with an error - * @param[in] status The error code - * - * async_req_done is to be used by implementors of async requests. When a - * request can not successfully completed, the implementation should call this - * function with the appropriate status code. - */ - void async_req_error(struct async_req *req, NTSTATUS status) { req->status = status; @@ -100,14 +58,6 @@ void async_req_error(struct async_req *req, NTSTATUS status) } } -/** - * @brief Timed event callback - * @param[in] ev Event context - * @param[in] te The timed event - * @param[in] now current time - * @param[in] priv The async request to be finished - */ - static void async_trigger(struct event_context *ev, struct timed_event *te, const struct timeval *now, void *priv) { @@ -122,21 +72,12 @@ static void async_trigger(struct event_context *ev, struct timed_event *te, } } -/** - * @brief Finish a request before it started processing - * @param[in] req The finished request - * @param[in] status The success code - * - * An implementation of an async request might find that it can either finish - * the request without waiting for an external event, or it can't even start - * the engine. To present the illusion of a callback to the user of the API, - * the implementation can call this helper function which triggers an - * immediate timed event. This way the caller can use the same calling - * conventions, independent of whether the request was actually deferred. - */ - bool async_post_status(struct async_req *req, NTSTATUS status) { + /* + * Used if a request is finished before it even started + */ + req->status = status; if (event_add_timed(req->event_ctx, req, timeval_zero(), @@ -147,23 +88,6 @@ bool async_post_status(struct async_req *req, NTSTATUS status) return true; } -/** - * @brief Helper function for nomem check - * @param[in] p The pointer to be checked - * @param[in] req The request being processed - * - * Convenience helper to easily check alloc failure within a callback - * implementing the next step of an async request. - * - * Call pattern would be - * \code - * p = talloc(mem_ctx, bla); - * if (async_req_nomem(p, req)) { - * return; - * } - * \endcode - */ - bool async_req_nomem(const void *p, struct async_req *req) { if (p != NULL) { |