// Jack Sangdahl
// CSCI3753 SP24
// PA6 Threaded Resolver
#include "array.h"
#pragma once
#define MAX_INPUT_FILES 100
#define MAX_REQUESTER_THREADS 10
#define MAX_RESOLVER_THREADS 10
#define MAX_NAME_LENGTH 17
#define MAX_IP_LENGTH INET6_ADDRSTRLEN
struct requester_data {
char *req_log;
char **input_filenames;
array *stack;
int *file_idx;
int total_files;
int res_thread_cnt;
pthread_mutex_t file_idx_lock;
pthread_mutex_t req_log_lock;
};
struct resolver_data {
char *res_log;
array *stack;
int res_thread_cnt;
pthread_mutex_t term_lock;
pthread_mutex_t res_log_lock;
};
void *requester(void *a);
void *resolver(void *a);
double get_time_sec(void);