From 7ddf686201d052e7c55d622dddd62b7e2ede880d Mon Sep 17 00:00:00 2001 From: Jack Sangdahl <0x6A73@pm.me> Date: Tue, 2 Apr 2024 23:09:33 -0600 Subject: pa6 --- pa6_threaded_resolver/multi-lookup.h | 44 ++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 pa6_threaded_resolver/multi-lookup.h (limited to 'pa6_threaded_resolver/multi-lookup.h') diff --git a/pa6_threaded_resolver/multi-lookup.h b/pa6_threaded_resolver/multi-lookup.h new file mode 100644 index 0000000..41e74d5 --- /dev/null +++ b/pa6_threaded_resolver/multi-lookup.h @@ -0,0 +1,44 @@ +// Jack Sangdahl +// CSCI3753 SP24 +// PA6 Threaded Resolver +#include "array.h" +#include "util.h" +#include +#include +#include +#include +#include +#include + +#define ARRAY_SIZE 8 +#define MAX_INPUT_FILES 100 +#define MAX_REQUESTER_THREADS 10 +#define MAX_RESOLVER_THREADS 10 +#define MAX_NAME_LENGTH 16 +#define MAX_IP_LENGTH INET6_ADDRSTRLEN +#define ELAPSED_SECONDS(a, b) \ + ((double)(b.tv_usec - a.tv_usec) / 1000000 + (double)(b.tv_sec - a.tv_sec)) + +void *request(void *data); +void *resolve(void *data); + +typedef struct { + FILE *req_log; + queue *file_names; + queue *buffer; + pthread_mutex_t *m; + pthread_cond_t *c_req; + pthread_cond_t *c_res; + pthread_mutex_t *input_lock; + pthread_mutex_t *req_log_lock; +} request_data; + +typedef struct { + FILE *res_log; + queue *buffer; + pthread_mutex_t *m; + pthread_cond_t *c_req; + pthread_cond_t *c_res; + pthread_mutex_t *res_log_lock; + bool *req_done; +} resolve_data; -- cgit v1.2.3