/* * Copyright (c) 2023 Egor Tensin * 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 struct worker; int worker_create(struct worker**, int fd); void worker_destroy(struct worker*); int worker_get_fd(const struct worker*); SIMPLEQ_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