My Project
Classes | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
simple_schedule Class Reference
Inheritance diagram for simple_schedule:
Schedule

Classes

struct  thread_data
 
struct  thread_info_t
 

Public Member Functions

 simple_schedule (Map &map)
 
virtual void start ()
 
- Public Member Functions inherited from Schedule
 Schedule (Map &map)
 
virtual ~Schedule ()
 
virtual void init ()
 
void scheduleKernel (raft::kernel *const kernel)
 

Protected Member Functions

void handleSchedule (raft::kernel *const kernel)
 

Static Protected Member Functions

static void * simple_run (void *data)
 
- Static Protected Member Functions inherited from Schedule
static raft::kstatus checkSystemSignal (raft::kernel *const kernel, void *data, SystemSignalHandler &handlers)
 
static raft::kstatus quitHandler (FIFO &fifo, raft::kernel *kernel, const raft::signal signal, void *data)
 
static void invalidateOutputPorts (raft::kernel *kernel)
 
static bool kernelHasInputData (raft::kernel *kernel)
 
static bool kernelHasNoInputPorts (raft::kernel *kernel)
 

Protected Attributes

pthread_mutex_t thread_map_mutex
 
std::vector< thread_info_t * > thread_map
 
- Protected Attributes inherited from Schedule
SystemSignalHandler handlers
 
kernelkeeper & kernel_set
 
kernelkeeper & source_kernels
 
kernelkeeper & dst_kernels
 

Additional Inherited Members

- Static Public Member Functions inherited from Schedule
static bool kernelRun (raft::kernel *const kernel, volatile bool &finished, jmp_buf *gotostate=nullptr, jmp_buf *kernel_state=nullptr)
 

Constructor & Destructor Documentation

simple_schedule::simple_schedule ( Map map)

simpleschedule.cpp -

Author
: Jonathan Beard
Version
: Thu Sep 11 15:49:57 2014

Copyright 2014 Jonathan Beard

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Member Function Documentation

void simple_schedule::handleSchedule ( raft::kernel *const  kernel)
protectedvirtual

thread function takes a reference back to the scheduler accessible done boolean flag, essentially when the kernel is done, it can be rescheduled...and this handles that.

thread

no attributes

function

Implements Schedule.

void simple_schedule::start ( )
virtual

start - called to start execution of all kernels. Implementation specific so it is purely virtual.

set up data struct for threads

thread

no attributes

function

FIXME: the list could get huge for long running apps, need to delete these entries...especially since we have a lock on the list now

Implements Schedule.


The documentation for this class was generated from the following files: