The Sparta Modeling Framework
Loading...
Searching...
No Matches
PayloadEvent.hpp
Go to the documentation of this file.
1// <PayloadEvent.h> -*- C++ -*-
2
3
10#pragma once
11
12#include <set>
13#include <memory>
15
16namespace sparta
17{
18
85 template<class DataT, SchedulingPhase sched_phase_T = SchedulingPhase::Tick>
86 class PayloadEvent : public PhasedPayloadEvent<DataT>
87 {
88 public:
89 // The phase this Event was defined with
90 static constexpr SchedulingPhase event_phase = sched_phase_T;
91
92 public:
93
106 const std::string & name,
107 const SpartaHandler & consumer_event_handler,
108 Clock::Cycle delay = 0) :
109 PhasedPayloadEvent<DataT>(event_set, name, sched_phase_T,
110 consumer_event_handler, delay)
111 { }
112
114 virtual ~PayloadEvent() = default;
115
119
122
125 };
126
127}
128
129
File that defines the PhasedPayloadEvent class. Suggest using sparta::PayloadEvent instead.
Class to schedule a Scheduleable in the future with a payload, typed on both the data type and the sc...
PayloadEvent< DataT, sched_phase_T > & operator=(const PayloadEvent< DataT, sched_phase_T > &)=delete
No assignments, no copies.
PayloadEvent(const PayloadEvent< DataT, sched_phase_T > &)=delete
No assignments, no copies.
PayloadEvent(TreeNode *event_set, const std::string &name, const SpartaHandler &consumer_event_handler, Clock::Cycle delay=0)
Create an PayloadEvent base to generate PayloadEvent Scheduleables.
PayloadEvent(PayloadEvent< DataT, sched_phase_T > &&)=delete
No moves.
virtual ~PayloadEvent()=default
Destroy!
Class to schedule a Scheduleable in the future with a payload, but the class itself is not typed on t...
Node in a composite tree representing a sparta Tree item.
Definition TreeNode.hpp:205
Macros for handling exponential backoff.
SchedulingPhase
The SchedulingPhases used for events (Tick, Update, PortUpdate, etc)