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

#include <AbstractRedundancyMessage.hpp>

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

Public Member Functions

 AbstractRedundancyMessage (const iv::comms::redundancy::eRedundancyMessageType _type)
 
 ~AbstractRedundancyMessage () override=default
 
std::vector< std::byte > serialize () const final
 
bool deserialize (const std::vector< std::byte > &_bytes) final
 

Static Public Member Functions

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

Public Attributes

iv::comms::redundancy::eRedundancyMessageType type
 
iv::types::stationId station
 
iv::comms::eMessageDirection direction {iv::comms::eMessageDirection::Outgoing}
 
std::vector< std::byte > bytes
 

Protected Member Functions

virtual void serializeSpecific (std::shared_ptr< iv::streams::OutputStreamMemory > &stream) const =0
 
virtual void deserializeSpecific (std::shared_ptr< iv::streams::InputStreamMemory > &stream)=0
 

Constructor & Destructor Documentation

◆ AbstractRedundancyMessage()

iv::comms::redundancy::AbstractRedundancyMessage::AbstractRedundancyMessage ( const iv::comms::redundancy::eRedundancyMessageType _type)
inlineexplicit

◆ ~AbstractRedundancyMessage()

iv::comms::redundancy::AbstractRedundancyMessage::~AbstractRedundancyMessage ( )
overridedefault

Member Function Documentation

◆ deserialize()

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

◆ deserializeSpecific()

◆ serialize() [1/2]

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

◆ 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()

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}

◆ station

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

◆ type

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

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