csci3753

CSCI3753 Coursework
git clone https://git.pngu.org/csci3753
Log | Files | Refs | README

multi-lookup.h (684B)


// 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);