diff options
Diffstat (limited to 'src/worker_queue.h')
-rw-r--r-- | src/worker_queue.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/worker_queue.h b/src/worker_queue.h new file mode 100644 index 0000000..826cf65 --- /dev/null +++ b/src/worker_queue.h @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2023 Egor Tensin <Egor.Tensin@gmail.com> + * This file is part of the "cimple" project. + * For details, see https://github.com/egor-tensin/cimple. + * Distributed under the MIT License. + */ + +#ifndef __WORKER_QUEUE_H__ +#define __WORKER_QUEUE_H__ + +#include <sys/queue.h> + +struct worker; + +int worker_create(struct worker **, int fd); +void worker_destroy(struct worker *); + +int worker_get_fd(const struct worker *); + +STAILQ_HEAD(worker_queue, worker); + +void worker_queue_create(struct worker_queue *); +void worker_queue_destroy(struct worker_queue *); + +int worker_queue_is_empty(const struct worker_queue *); + +void worker_queue_add_first(struct worker_queue *, struct worker *); +void worker_queue_add_last(struct worker_queue *, struct worker *); + +struct worker *worker_queue_remove_first(struct worker_queue *); + +#endif |