tin  1.5.9
runtime.h File Reference

Runtime implementations for direct, composite-queue, and per-region dispatch. More...

#include <cstddef>
#include <tuple>
#include <type_traits>
#include <utility>
#include "tsm.h"
#include "tsm/runtime/policy.h"
#include "tsm/runtime/static_ring.h"
#include "tsm/runtime/transport.h"
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.

Namespaces

 tsm
 
 tsm::runtime
 
 tsm::runtime::detail
 

Typedefs

template<typename Definition , typename Policy , template< typename > class MachinePolicy = detail::default_machine_policy>
using tsm::runtime::Runtime = detail::runtime_impl< Definition, Policy, MachinePolicy >
 
template<typename Definition , typename Policy , template< typename > class MachinePolicy = detail::default_machine_policy>
using tsm::runtime::runtime_for = Runtime< Definition, Policy, MachinePolicy >
 
template<typename Definition , template< typename > class MachinePolicy = detail::default_machine_policy>
using tsm::runtime::direct_runtime = Runtime< Definition, ::tsm::runtime_policy<::tsm::dispatch_model::direct, ::tsm::queue_policy<::tsm::static_storage< 2 > >>, MachinePolicy >
 
template<typename Definition , std::size_t Capacity, typename Overflow = overflow::reject_newest, template< typename > class MachinePolicy = detail::default_machine_policy>
using tsm::runtime::queued_runtime = Runtime< Definition, ::tsm::runtime_policy< ::tsm::dispatch_model::queued, ::tsm::queue_policy<::tsm::target_storage< Capacity >, Overflow > >, MachinePolicy >
 
template<typename Definition , std::size_t Capacity, typename Overflow = overflow::reject_newest, template< typename > class MachinePolicy = detail::default_machine_policy>
using tsm::runtime::per_region_runtime = Runtime< Definition, ::tsm::runtime_policy< ::tsm::dispatch_model::per_region_queued, ::tsm::queue_policy<::tsm::target_storage< Capacity >, Overflow > >, MachinePolicy >
 

Detailed Description

Runtime implementations for direct, composite-queue, and per-region dispatch.

Binds machine definitions to runtime policies and queue storage.

Include this when implementing or testing the runtime object that wraps an authored HSM. Policy tags choose whether events are dispatched immediately, stored in one composite queue, or stored per region. Storage policies choose the bounded queue backend, and overflow policies choose what happens when admission fails.

Include tsm/runtime.h for normal use. Include this file directly only when implementing or testing runtime policy behavior.