Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
RedundancyMessageChannel.hpp
Go to the documentation of this file.
1#ifndef IV_SRC_COMMS_REDUNDANCY_REDUNDANCYMESSAGECHANNEL_HPP
2#define IV_SRC_COMMS_REDUNDANCY_REDUNDANCYMESSAGECHANNEL_HPP
3
7
9{
10
12{
14 Expeditive = 1//Sent after an update in the channel value
15};
16
18{
25
29
32
33 void serializeSpecific(std::shared_ptr<iv::streams::OutputStreamMemory> &stream) const override;
34 void deserializeSpecific(std::shared_ptr<iv::streams::InputStreamMemory> &stream) override;
35
36 static bool processChannelMessage(
37 const std::shared_ptr<RedundancyMessageChannel> &message,
38 const std::map<iv::types::channelId, std::shared_ptr<iv::channels::AbstractChannel>> &channels,
39 const std::weak_ptr<iv::diamar::AppFailuresLoggerManager> &appFailuresLoggerManager,
40 const iv::types::networkId &networkId);
41
42 // TODO: Hacer en otro sitio
43 static std::optional<iv::types::stationId>
44 isCommunicationError(const std::shared_ptr<RedundancyMessageChannel> &message);
45};
46
47}// namespace iv::comms::redundancy
48
49#endif//IV_SRC_COMMS_REDUNDANCY_REDUNDANCYMESSAGECHANNEL_HPP
Definition enums.hpp:7
eRedundancyMessageType
Definition enums.hpp:10
eChannelMessageType
Definition RedundancyMessageChannel.hpp:12
@ Expeditive
Definition RedundancyMessageChannel.hpp:14
@ Periodic
Definition RedundancyMessageChannel.hpp:13
uint16_t unitId
Definition types.hpp:77
std::string networkId
Definition types.hpp:43
std::string channelId
Definition types.hpp:66
Definition AlarmsManager.cpp:18
Definition structs.hpp:16
Definition structs.hpp:665
Definition AbstractRedundancyMessage.hpp:16
Definition RedundancyMessageChannel.hpp:18
iv::alarms::Alarm m_alarm
Definition RedundancyMessageChannel.hpp:23
RedundancyMessageChannel()
Definition RedundancyMessageChannel.hpp:26
void deserializeSpecific(std::shared_ptr< iv::streams::InputStreamMemory > &stream) override
Definition RedundancyMessageChannel.cpp:122
iv::types::networkId m_network
Definition RedundancyMessageChannel.hpp:19
void serializeSpecific(std::shared_ptr< iv::streams::OutputStreamMemory > &stream) const override
Definition RedundancyMessageChannel.cpp:106
iv::types::unitId m_unit
Definition RedundancyMessageChannel.hpp:20
iv::channels::Value m_value
Definition RedundancyMessageChannel.hpp:22
iv::types::channelId m_channel
Definition RedundancyMessageChannel.hpp:21
static std::optional< iv::types::stationId > isCommunicationError(const std::shared_ptr< RedundancyMessageChannel > &message)
Definition RedundancyMessageChannel.cpp:83
static bool processChannelMessage(const std::shared_ptr< RedundancyMessageChannel > &message, const std::map< iv::types::channelId, std::shared_ptr< iv::channels::AbstractChannel > > &channels, const std::weak_ptr< iv::diamar::AppFailuresLoggerManager > &appFailuresLoggerManager, const iv::types::networkId &networkId)
Definition RedundancyMessageChannel.cpp:13
eChannelMessageType m_messageType
Definition RedundancyMessageChannel.hpp:24