RaftLib
0.3a
C++ Stream Processing Template Library
|
Classes | |
struct | thread_data |
struct | thread_info_t |
Public Member Functions | |
simple_schedule (Map &map) | |
virtual void | start () |
![]() | |
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 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 |
![]() | |
SystemSignalHandler | handlers |
kernelkeeper & | kernel_set |
kernelkeeper & | source_kernels |
kernelkeeper & | dst_kernels |
Additional Inherited Members | |
![]() | |
static bool | kernelRun (raft::kernel *const kernel, volatile bool &finished, jmp_buf *gotostate=nullptr, jmp_buf *kernel_state=nullptr) |
simple_schedule::simple_schedule | ( | Map & | map | ) |
simpleschedule.cpp -
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.
|
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.
|
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.