 |
helics
3.0.1
|
9 #include "../common/AsioContextManager.h"
10 #include "ActionMessage.hpp"
12 #include <asio/steady_timer.hpp>
20 class MessageTimer:
public std::enable_shared_from_this<MessageTimer> {
22 using time_type = decltype(std::chrono::steady_clock::now());
41 bool updateTimer(int32_t timerIndex, time_type expirationTime);
45 bool addTimeToTimer(int32_t timerIndex, std::chrono::nanoseconds time);
53 std::vector<ActionMessage> buffers;
54 std::vector<time_type> expirationTimes;
57 std::vector<std::shared_ptr<asio::steady_timer>> timers;
59 std::shared_ptr<AsioContextManager> contextPtr;
int32_t addTimer(time_type expirationTime, ActionMessage mess)
Definition: MessageTimer.cpp:39
Definition: ActionMessage.hpp:30
Definition: AsioContextManager.h:32
bool addTimeToTimer(int32_t timerIndex, std::chrono::nanoseconds time)
Definition: MessageTimer.cpp:107
void updateTimerFromNow(int32_t timerIndex, std::chrono::nanoseconds time, ActionMessage mess)
Definition: MessageTimer.cpp:100
void sendMessage(int32_t timerIndex)
Definition: MessageTimer.cpp:149
void cancelTimer(int32_t index)
Definition: MessageTimer.cpp:64
void updateTimer(int32_t timerIndex, time_type expirationTime, ActionMessage mess)
Definition: MessageTimer.cpp:84
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14
int32_t addTimerFromNow(std::chrono::nanoseconds time, ActionMessage mess)
Definition: MessageTimer.cpp:34
void cancelAll()
Definition: MessageTimer.cpp:73
void updateMessage(int32_t timerIndex, ActionMessage mess)
Definition: MessageTimer.cpp:141
Definition: MessageTimer.hpp:20
LoopHandle startContextLoop()
Definition: AsioContextManager.cpp:151