 |
helics
2.8.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());
39 bool updateTimer(int32_t timerIndex, time_type expirationTime);
43 bool addTimeToTimer(int32_t timerIndex, std::chrono::nanoseconds time);
51 std::vector<ActionMessage> buffers;
52 std::vector<time_type> expirationTimes;
55 std::vector<std::shared_ptr<asio::steady_timer>> timers;
56 std::shared_ptr<AsioContextManager>
int32_t addTimer(time_type expirationTime, ActionMessage mess)
Definition: MessageTimer.cpp:39
Definition: ActionMessage.hpp:29
Definition: AsioContextManager.h:42
bool addTimeToTimer(int32_t timerIndex, std::chrono::nanoseconds time)
Definition: MessageTimer.cpp:100
void sendMessage(int32_t timerIndex)
Definition: MessageTimer.cpp:142
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:134
Definition: MessageTimer.hpp:20
LoopHandle startContextLoop()
Definition: AsioContextManager.cpp:151