From ed809a51fdd1c313cd256301ef6f7211e8394cb1 Mon Sep 17 00:00:00 2001 From: David Timber Date: Wed, 1 Jan 2020 09:50:34 +1100 Subject: checkpoint --- src/proone_worker.h | 64 ----------------------------------------------------- 1 file changed, 64 deletions(-) delete mode 100644 src/proone_worker.h (limited to 'src/proone_worker.h') diff --git a/src/proone_worker.h b/src/proone_worker.h deleted file mode 100644 index b264fc9..0000000 --- a/src/proone_worker.h +++ /dev/null @@ -1,64 +0,0 @@ -#pragma once -#include -#include -#include -#include -#include - - -typedef uint8_t proone_worker_sched_flag_t; - -typedef struct proone_worker_sched_req proone_worker_sched_req_t; -typedef bool(*proone_worker_sched_req_alloc_func_t)(proone_worker_sched_req_t *, const size_t); -typedef void(*proone_worker_sched_req_free_func_t)(proone_worker_sched_req_t *); -typedef struct proone_worker_sched_req_mem_func proone_worker_sched_req_mem_func_t; -typedef struct proone_worker_sched_info proone_worker_sched_info_t; -typedef struct proone_worker proone_worker_t; - -struct proone_worker_sched_req_mem_func { - proone_worker_sched_req_alloc_func_t alloc; - proone_worker_sched_req_free_func_t free; - void *ctx; -}; - -struct proone_worker_sched_req { - size_t pollfd_arr_size; - struct pollfd *pollfd_arr; - struct timespec timeout; - proone_worker_sched_req_mem_func_t mem_func; - proone_worker_sched_flag_t flags; - bool pollfd_ready; -}; - -struct proone_worker_sched_info { - proone_worker_sched_flag_t tick_flags; - struct timespec last_tick; - struct timespec this_tick; - struct timespec tick_diff; - double real_tick_diff; -}; - -struct proone_worker { - intptr_t id; - void *ctx; - - void (*free)(void *ctx); - void (*fin)(void *ctx); - void (*work)(void *ctx, const proone_worker_sched_info_t *sched_info, proone_worker_sched_req_t *sched_req); - bool (*has_finalised)(void *ctx); -}; - -/* Do nothing. The worker has more work to do and is yielding cpu time to the -* other workers. -*/ -static const proone_worker_sched_flag_t PROONE_WORKER_SCHED_FLAG_NONE = 0x00; -/* Do `poll()`. The worker has to set `shed_req` properly. -*/ -static const proone_worker_sched_flag_t PROONE_WORKER_SCHED_FLAG_POLL = 0x01; -/* Do `poll()` with timeout or just sleep. The worker has to set -* `proone_worker_sched_req_t::timeout` properly. -*/ -static const proone_worker_sched_flag_t PROONE_WORKER_SCHED_FLAG_TIMEOUT = 0x02; - - -bool proone_init_worker_sched_req (proone_worker_sched_req_t *wsr, proone_worker_sched_req_mem_func_t *mem_func); -- cgit