Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
iv::comms::redundancy::RedundancyMessageChannel Struct Referencefinal

#include <RedundancyMessageChannel.hpp>

Inheritance diagram for iv::comms::redundancy::RedundancyMessageChannel:
[legend]
Collaboration diagram for iv::comms::redundancy::RedundancyMessageChannel:
[legend]

Public Member Functions

 RedundancyMessageChannel ()
 
 RedundancyMessageChannel (iv::types::networkId network, iv::types::unitId unit, iv::types::channelId channel, iv::channels::Value value, iv::alarms::Alarm alarm, eChannelMessageType messageType)
 
void serializeSpecific (std::shared_ptr< iv::streams::OutputStreamMemory > &stream) const override
 
void deserializeSpecific (std::shared_ptr< iv::streams::InputStreamMemory > &stream) override
 
std::vector< std::byte > serialize () const final
 
bool deserialize (const std::vector< std::byte > &_bytes) final
 

Static Public Member Functions

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)
 
static std::optional< iv::types::stationIdisCommunicationError (const std::shared_ptr< RedundancyMessageChannel > &message)
 
template<typename T >
requires std::is_base_of_v<ISerializable, T>
static std::vector< std::byte > serialize (const T &object)
 

Public Attributes

iv::types::networkId m_network
 
iv::types::unitId m_unit {}
 
iv::types::channelId m_channel
 
iv::channels::Value m_value {}
 
iv::alarms::Alarm m_alarm {}
 
eChannelMessageType m_messageType {eChannelMessageType::Periodic}
 
iv::comms::redundancy::eRedundancyMessageType type
 
iv::types::stationId station
 
iv::comms::eMessageDirection direction {iv::comms::eMessageDirection::Outgoing}
 
std::vector< std::byte > bytes
 

Constructor & Destructor Documentation

◆ RedundancyMessageChannel() [1/2]

iv::comms::redundancy::RedundancyMessageChannel::RedundancyMessageChannel ( )
inline

◆ RedundancyMessageChannel() [2/2]

iv::comms::redundancy::RedundancyMessageChannel::RedundancyMessageChannel ( iv::types::networkId network,
iv::types::unitId unit,
iv::types::channelId channel,
iv::channels::Value value,
iv::alarms::Alarm alarm,
eChannelMessageType messageType )

Member Function Documentation

◆ deserialize()

bool iv::comms::redundancy::AbstractRedundancyMessage::deserialize ( const std::vector< std::byte > & _bytes)
nodiscardfinalvirtualinherited

◆ deserializeSpecific()

void iv::comms::redundancy::RedundancyMessageChannel::deserializeSpecific ( std::shared_ptr< iv::streams::InputStreamMemory > & stream)
overridevirtual

◆ isCommunicationError()

std::optional< iv::types::stationId > iv::comms::redundancy::RedundancyMessageChannel::isCommunicationError ( const std::shared_ptr< RedundancyMessageChannel > & message)
static

◆ processChannelMessage()

bool iv::comms::redundancy::RedundancyMessageChannel::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 )
static

◆ serialize() [1/2]

std::vector< std::byte > iv::comms::redundancy::AbstractRedundancyMessage::serialize ( ) const
nodiscardfinalvirtualinherited

◆ serialize() [2/2]

template<typename T >
requires std::is_base_of_v<ISerializable, T>
static std::vector< std::byte > iv::core::ISerializable::serialize ( const T & object)
inlinestaticinherited

◆ serializeSpecific()

void iv::comms::redundancy::RedundancyMessageChannel::serializeSpecific ( std::shared_ptr< iv::streams::OutputStreamMemory > & stream) const
overridevirtual

Member Data Documentation

◆ bytes

std::vector<std::byte> iv::comms::IMessageComm::bytes
inherited

◆ direction

iv::comms::eMessageDirection iv::comms::redundancy::AbstractRedundancyMessage::direction {iv::comms::eMessageDirection::Outgoing}
inherited

◆ m_alarm

iv::alarms::Alarm iv::comms::redundancy::RedundancyMessageChannel::m_alarm {}

◆ m_channel

iv::types::channelId iv::comms::redundancy::RedundancyMessageChannel::m_channel

◆ m_messageType

eChannelMessageType iv::comms::redundancy::RedundancyMessageChannel::m_messageType {eChannelMessageType::Periodic}

◆ m_network

iv::types::networkId iv::comms::redundancy::RedundancyMessageChannel::m_network

◆ m_unit

iv::types::unitId iv::comms::redundancy::RedundancyMessageChannel::m_unit {}

◆ m_value

iv::channels::Value iv::comms::redundancy::RedundancyMessageChannel::m_value {}

◆ station

iv::types::stationId iv::comms::redundancy::AbstractRedundancyMessage::station
inherited

◆ type

iv::comms::redundancy::eRedundancyMessageType iv::comms::redundancy::AbstractRedundancyMessage::type
inherited

The documentation for this struct was generated from the following files: