#include #include "Enclave_t.h" #include "utils.hpp" #include "config.hpp" #include "route.hpp" #include "ingest.hpp" Ingestion g_ing; void displayMessage(unsigned char *msg, uint16_t msg_size) { clientid_t sid, rid; unsigned char *ptr = msg; sid = *((clientid_t*) ptr); ptr+=sizeof(sid); rid = *((clientid_t*) ptr); ptr+=sizeof(rid); printf("Sender ID: %d, Receiver ID: %d, Token: N/A\n", sid, rid ); printf("Message: "); for(int j = 0; j g_ing.max_buffer_size) { pthread_mutex_unlock(&msg_queue.mutex); printf("Ingestions: Max %u messages exceeded\n", g_ing.max_buffer_size); return false; } msg_queue.reserved += num_msgs; pthread_mutex_unlock(&msg_queue.mutex); memmove(msg_queue.buf + head * msg_size, dec_msgbundle, num_msgs * msg_size); pthread_mutex_lock(&msg_queue.mutex); msg_queue.inserted += num_msgs; pthread_mutex_unlock(&msg_queue.mutex); free(dec_msgbundle); return true; } return false; } void Ingestion::generateClientKeys(sgx_aes_gcm_128bit_key_t &ESK) { //printf("In Ingestion::genCK, num_clients = %d, client_start = %d, client_end = %d\n", // cnum, cstart, cnum + cstart); uint32_t num_ing_nodes = g_teems_config.num_ingestion_nodes; for(uint32_t i=0; i