Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
iv::comms::ip::IPCommunicationDriver Class Referencefinal

#include <IPCommunicationDriver.hpp>

Inheritance diagram for iv::comms::ip::IPCommunicationDriver:
[legend]
Collaboration diagram for iv::comms::ip::IPCommunicationDriver:
[legend]

Public Member Functions

 IPCommunicationDriver ()=delete
 
 IPCommunicationDriver (const iv::model::comms::net::eIpProtocolLayer &protocolLayer, const iv::comms::ip::eIpNetworkRole &networkRole, const std::set< iv::types::ipAddress > &validIPs)
 
 ~IPCommunicationDriver () override
 
void configure (const iv::model::comms::NetworkData &commConfig) override
 
iv::comms::eResponse init () override
 
iv::comms::eResponse end () override
 
iv::comms::eResponse reconnect () override
 
iv::comms::eResponse start () override
 
iv::comms::eResponse stop () override
 
iv::comms::eResponse receive (std::vector< std::byte > &buffer, iv::types::ipAddress *ip, iv::types::ipPort *port)
 
iv::comms::eResponse send (const std::vector< std::byte > &data, const iv::types::ipAddress &ip, iv::types::ipPort port)
 
bool isOnline () override
 

Public Attributes

std::set< std::string > m_validIPs
 
iv::types::ipAddress m_ip {}
 
iv::types::ipPort m_port {0}
 

Protected Attributes

iv::eState m_state {iv::eState::Uninitialized}
 
bool m_isOnline {false}
 
iv::types::timestamp m_lastTimeReconnected {0}
 

Private Attributes

iv::types::timestamp m_lastTimePacketReceived {0}
 
uint64_t m_readingRetriesWithoutData {0}
 
iv::model::comms::net::eIpProtocolLayer m_protocolLayer
 
iv::comms::ip::eIpNetworkRole m_networkRole
 
std::mutex m_driverMutex
 
iv::comms::ip::ITransportProtocolm_socketOpt
 

Constructor & Destructor Documentation

◆ IPCommunicationDriver() [1/2]

iv::comms::ip::IPCommunicationDriver::IPCommunicationDriver ( )
delete

◆ IPCommunicationDriver() [2/2]

iv::comms::ip::IPCommunicationDriver::IPCommunicationDriver ( const iv::model::comms::net::eIpProtocolLayer & protocolLayer,
const iv::comms::ip::eIpNetworkRole & networkRole,
const std::set< iv::types::ipAddress > & validIPs )

◆ ~IPCommunicationDriver()

iv::comms::ip::IPCommunicationDriver::~IPCommunicationDriver ( )
override

Member Function Documentation

◆ configure()

void iv::comms::ip::IPCommunicationDriver::configure ( const iv::model::comms::NetworkData & commConfig)
overridevirtual

◆ end()

iv::comms::eResponse iv::comms::ip::IPCommunicationDriver::end ( )
overridevirtual

◆ init()

iv::comms::eResponse iv::comms::ip::IPCommunicationDriver::init ( )
overridevirtual

◆ isOnline()

bool iv::comms::ip::IPCommunicationDriver::isOnline ( )
overridevirtual

◆ receive()

iv::comms::eResponse iv::comms::ip::IPCommunicationDriver::receive ( std::vector< std::byte > & buffer,
iv::types::ipAddress * ip,
iv::types::ipPort * port )
nodiscard

◆ reconnect()

iv::comms::eResponse iv::comms::ip::IPCommunicationDriver::reconnect ( )
overridevirtual

◆ send()

iv::comms::eResponse iv::comms::ip::IPCommunicationDriver::send ( const std::vector< std::byte > & data,
const iv::types::ipAddress & ip,
iv::types::ipPort port )

◆ start()

iv::comms::eResponse iv::comms::ip::IPCommunicationDriver::start ( )
overridevirtual

◆ stop()

iv::comms::eResponse iv::comms::ip::IPCommunicationDriver::stop ( )
overridevirtual

Member Data Documentation

◆ m_driverMutex

std::mutex iv::comms::ip::IPCommunicationDriver::m_driverMutex
private

◆ m_ip

iv::types::ipAddress iv::comms::ip::IPCommunicationDriver::m_ip {}

◆ m_isOnline

bool iv::comms::ICommunicationDriver::m_isOnline {false}
protectedinherited

◆ m_lastTimePacketReceived

iv::types::timestamp iv::comms::ip::IPCommunicationDriver::m_lastTimePacketReceived {0}
private

◆ m_lastTimeReconnected

iv::types::timestamp iv::comms::ICommunicationDriver::m_lastTimeReconnected {0}
protectedinherited

◆ m_networkRole

iv::comms::ip::eIpNetworkRole iv::comms::ip::IPCommunicationDriver::m_networkRole
private

◆ m_port

iv::types::ipPort iv::comms::ip::IPCommunicationDriver::m_port {0}

◆ m_protocolLayer

iv::model::comms::net::eIpProtocolLayer iv::comms::ip::IPCommunicationDriver::m_protocolLayer
private

◆ m_readingRetriesWithoutData

uint64_t iv::comms::ip::IPCommunicationDriver::m_readingRetriesWithoutData {0}
private

◆ m_socketOpt

iv::comms::ip::ITransportProtocol* iv::comms::ip::IPCommunicationDriver::m_socketOpt
private

◆ m_state

iv::eState iv::comms::ICommunicationDriver::m_state {iv::eState::Uninitialized}
protectedinherited

◆ m_validIPs

std::set<std::string> iv::comms::ip::IPCommunicationDriver::m_validIPs

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