My Project
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros
Functions
thread_message.c File Reference

Messages to be delivered to dedos_threads. More...

#include "thread_message.h"
#include "logging.h"

Go to the source code of this file.

Functions

int enqueue_thread_msg (struct thread_msg *thread_msg, struct msg_queue *queue)
 Enqueues a dedos_msg with a thread_msg as the payload to the appropriate queue. More...
 
struct thread_msgdequeue_thread_msg (struct msg_queue *queue)
 Dequeues a thread_msg from the message queue. More...
 
struct thread_msgconstruct_thread_msg (enum thread_msg_type type, ssize_t data_size, void *data)
 Allocates and initializes a thread message with the provided options. More...
 
void destroy_thread_msg (struct thread_msg *msg)
 Frees a thread message. More...
 
struct thread_msginit_send_thread_msg (unsigned int runtime_id, unsigned int target_id, size_t data_len, void *data)
 Initializes a send_to_peer message (SEND_TO_PEER) More...
 

Detailed Description

Messages to be delivered to dedos_threads.

Definition in file thread_message.c.

Function Documentation

struct thread_msg* construct_thread_msg ( enum thread_msg_type  type,
ssize_t  data_size,
void *  data 
)

Allocates and initializes a thread message with the provided options.

Definition at line 66 of file thread_message.c.

struct thread_msg* dequeue_thread_msg ( struct msg_queue queue)

Dequeues a thread_msg from the message queue.

Returns
The dequeued message or NULL if error

Definition at line 48 of file thread_message.c.

void destroy_thread_msg ( struct thread_msg msg)

Frees a thread message.

Definition at line 81 of file thread_message.c.

int enqueue_thread_msg ( struct thread_msg thread_msg,
struct msg_queue queue 
)

Enqueues a dedos_msg with a thread_msg as the payload to the appropriate queue.

Definition at line 29 of file thread_message.c.

struct thread_msg* init_send_thread_msg ( unsigned int  runtime_id,
unsigned int  target_id,
size_t  data_len,
void *  data 
)

Initializes a send_to_peer message (SEND_TO_PEER)

Parameters
runtime_idThe runtime to deliver the message to
target_idThe remote target (either thread ID or MSU ID)
data_lensize of provided data
Returns
Newly allocated thread message on success, NULL on error

Definition at line 87 of file thread_message.c.