tin  1.5.9
runtime.h File Reference

Convenience include for runtime queue, executor, and topology APIs. More...

Include dependency graph for runtime.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  tsm::cooperative_executor< Tasks >
 
class  tsm::priority_cooperative_executor< Tasks >
 
class  tsm::runtime_group< Runtimes >
 
class  tsm::actor_group< Actors >
 
class  tsm::tick_executor< Runtime, Capacity >
 

Namespaces

 tsm
 

Typedefs

template<typename Definition , typename Policy , template< typename > class MachinePolicy = runtime::detail::default_machine_policy>
using tsm::Runtime = runtime::Runtime< Definition, Policy, MachinePolicy >
 
template<typename Definition , typename Policy , template< typename > class MachinePolicy = runtime::detail::default_machine_policy>
using tsm::runtime_for = Runtime< Definition, Policy, MachinePolicy >
 
template<typename Runtime , std::size_t Capacity = 16U>
using tsm::delayed_event_timer = runtime::delayed_event_timer< Runtime, Capacity >
 
template<std::size_t Capacity>
using tsm::timer_queue = runtime::timer_queue< Capacity >
 
using tsm::inline_executor = runtime::inline_executor
 
using tsm::resource_budget = runtime::resource_budget
 
using tsm::resource_snapshot = runtime::resource_snapshot
 
template<typename Runtime >
using tsm::task_resources = runtime::task_resources< Runtime >
 
template<typename Runtime , std::size_t TimerSlots = 0U, typename... Groups>
using tsm::runtime_resources = runtime::runtime_resources< Runtime, TimerSlots, Groups... >
 
template<typename Runtime , resource_budget Budget, std::size_t TimerSlots = 0U, typename... Groups>
using tsm::resource_contract = runtime::resource_contract< Runtime, Budget, TimerSlots, Groups... >
 
template<typename Profile , typename Runtime , std::size_t TimerSlots = 0U, typename... Groups>
using tsm::profile_resource_contract = runtime::profile_resource_contract< Profile, Runtime, TimerSlots, Groups... >
 
template<typename Definition >
using tsm::direct_runtime = Runtime< Definition, runtime_policy< dispatch_model::direct, queue_policy< static_storage< 2 > >> >
 
template<typename Definition , std::size_t Capacity, typename Overflow = overflow::reject_newest>
using tsm::queued_runtime = Runtime< Definition, runtime_policy< dispatch_model::queued, queue_policy< target_storage< Capacity >, Overflow > >>
 
template<typename Definition , std::size_t Capacity, typename Overflow = overflow::reject_newest>
using tsm::per_region_runtime = Runtime< Definition, runtime_policy< dispatch_model::per_region_queued, queue_policy< target_storage< Capacity >, Overflow > >>
 

Functions

template<typename... Tasks>
 tsm::cooperative_executor (Tasks &...) -> cooperative_executor< Tasks... >
 
template<typename... Tasks>
 tsm::priority_cooperative_executor (Tasks &...) -> priority_cooperative_executor< Tasks... >
 
template<typename... Runtimes>
 tsm::runtime_group (Runtimes &...) -> runtime_group< Runtimes... >
 
template<typename... Actors>
 tsm::actor_group (Actors &...) -> actor_group< Actors... >
 
template<typename Runtime >
 tsm::tick_executor (Runtime &) -> tick_executor< Runtime >
 

Detailed Description

Convenience include for runtime queue, executor, and topology APIs.

Includes runtime concepts, policy tags, fixed storage, executors, and runtime implementations.

Application and integration code can use this as the complete runtime surface. The runtime layer moves typed events, owns bounded queues, runs cooperative tasks, and advances explicit tick timers.