drake  1.0.0
include/drake/stream.h File Reference
#include <stddef.h>
#include <drake/mapping.h>
#include <drake/processor.h>
#include <drake/platform.h>
#include <drake/schedule.h>
Include dependency graph for stream.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  drake_stream_t

Functions

drake_stream_t drake_stream_create_explicit (void(*schedule_init)(), void(*schedule_destroy)(drake_schedule_t *), void *(*task_function)(size_t id, task_status_t status), drake_platform_t pt)
int drake_stream_init (drake_stream_t *stream, void *arg)
int drake_stream_run (drake_stream_t *)
int drake_stream_destroy (drake_stream_t *)

Function Documentation

drake_stream_t drake_stream_create_explicit ( void(*)()  schedule_init,
void(*)(drake_schedule_t *)  schedule_destroy,
void *(*)(size_t id, task_status_t status)  task_function,
drake_platform_t  pt 
)

Create a streaming application using schedule information from functions given as arguments

Parameters:
schedule_initFunction that initialises data structure that holds scheduling information
schedule_destroyFunction that cleans up a schedule and frees the associated memory
task_functionFunction that returns the function pointer corresponding to a task and its state

Destroys the stream and frees its associated memory

Definition at line 1067 of file stream.c.

int drake_stream_init ( drake_stream_t stream,
void *  arg 
)

Initialises a stream already created. Runs the init() method of each of its tasks

Parameters:
streamStream to be initialized
argMemory address that holds arguments to transmit to task initialization function

Definition at line 1038 of file stream.c.

Run the streaming application

Definition at line 1099 of file stream.c.