48 std::unique_ptr<IRawEthernetSocket> sock)
50 listener.
l2Sock = std::move(sock);
Declares the PROFINET RTA alarm listener and AlarmAck transmission support.
Narrow private-access adapter used only by AlarmListener tests.
static const MacAddress & ControllerMac(const AlarmListener &listener)
Return the listener's configured controller MAC address.
static void SetSock(AlarmListener &listener, std::unique_ptr< IRawEthernetSocket > sock)
Set the Layer 2 Ethernet socket used by the listener.
static void HandleLayer2Frame(AlarmListener &listener)
Receive and process one Layer 2 RTA frame.
static std::size_t CallbackCount(const AlarmListener &listener)
Return the number of callbacks registered with the listener.
Background listener for PROFINET alarm notifications.
std::unique_ptr< IRawEthernetSocket > l2Sock
Raw Ethernet transport used for Layer 2 alarm reception.
MacAddress controllerMac
This host's MAC address.
void HandleLayer2Frame()
Receive and process one Layer 2 (RTA-PDU) frame.
std::vector< std::function< void(const AlarmNotification &)> > alarmNotificationCallbacks
Registered callbacks invoked for successfully parsed alarmsnotifications.
std::array< std::uint8_t, macAddressLength > MacAddress
A 6-byte Ethernet MAC address.