sACN  2.0.2
Implementation of ANSI E1.31 (Streaming ACN)
View other versions:
Loading...
Searching...
No Matches
Receiver::NotifyHandler Class Referenceabstract

A base class for a class that receives notification callbacks from a sACN receiver. More...

#include <receiver.h>

Public Member Functions

virtual void HandleUniverseData (Handle receiver_handle, const etcpal::SockAddr &source_addr, const SacnRemoteSource &source_info, const SacnRecvUniverseData &universe_data)=0
 Notify that new universe data within the configured footprint has been received.
 
virtual void HandleSourcesLost (Handle handle, uint16_t universe, const std::vector< SacnLostSource > &lost_sources)=0
 Notify that one or more sources have entered a source loss state.
 
virtual void HandleSamplingPeriodStarted (Handle handle, uint16_t universe)
 Notify that a receiver's sampling period has begun.
 
virtual void HandleSamplingPeriodEnded (Handle handle, uint16_t universe)
 Notify that a receiver's sampling period has ended.
 
virtual void HandleSourcePapLost (Handle handle, uint16_t universe, const SacnRemoteSource &source)
 Notify that a source has stopped transmission of per-address priority packets.
 
virtual void HandleSourceLimitExceeded (Handle handle, uint16_t universe)
 Notify that more than the configured maximum number of sources are currently sending on the universe being listened to.
 

Detailed Description

A base class for a class that receives notification callbacks from a sACN receiver.

Member Function Documentation

◆ HandleSamplingPeriodEnded()

virtual void HandleSamplingPeriodEnded ( Handle handle,
uint16_t universe )
inlinevirtual

Notify that a receiver's sampling period has ended.

Parameters
handleThe receiver's handle.
universeThe universe the receiver is monitoring.

◆ HandleSamplingPeriodStarted()

virtual void HandleSamplingPeriodStarted ( Handle handle,
uint16_t universe )
inlinevirtual

Notify that a receiver's sampling period has begun.

Parameters
handleThe receiver's handle.
universeThe universe the receiver is monitoring.

◆ HandleSourceLimitExceeded()

virtual void HandleSourceLimitExceeded ( Handle handle,
uint16_t universe )
inlinevirtual

Notify that more than the configured maximum number of sources are currently sending on the universe being listened to.

Parameters
handleThe receiver's handle.
universeThe universe this receiver is monitoring.

◆ HandleSourcePapLost()

virtual void HandleSourcePapLost ( Handle handle,
uint16_t universe,
const SacnRemoteSource & source )
inlinevirtual

Notify that a source has stopped transmission of per-address priority packets.

Parameters
handleThe receiver's handle.
universeThe universe this receiver is monitoring.
sourceInformation about the source that has stopped transmission of per-address priority.

◆ HandleSourcesLost()

virtual void HandleSourcesLost ( Handle handle,
uint16_t universe,
const std::vector< SacnLostSource > & lost_sources )
pure virtual

Notify that one or more sources have entered a source loss state.

Parameters
handleThe receiver's handle.
universeThe universe this receiver is monitoring.
lost_sourcesVector of structs describing the source or sources that have been lost.

◆ HandleUniverseData()

virtual void HandleUniverseData ( Handle receiver_handle,
const etcpal::SockAddr & source_addr,
const SacnRemoteSource & source_info,
const SacnRecvUniverseData & universe_data )
pure virtual

Notify that new universe data within the configured footprint has been received.

This will not be called if the Stream_Terminated bit is set, or if the Preview_Data bit is set and preview packets are being filtered.

Start code 0xDD packets will only trigger this notification if SACN_ETC_PRIORITY_EXTENSION is set to 1. This callback will be called for all other start codes received, even those without a startcode of 0x00 or 0xDD.

This notification will not be called for a source until the first NULL start code packet is received. After that happens, this notification is always called immediately during the sampling period, if SACN_ETC_PRIORITY_EXTENSION is set to 0, or if the start code is not 0x00 or 0xDD. Otherwise, this notification won't be called until both 0x00 and 0xDD start codes are received (in which case the 0xDD notification comes first), or the 0xDD timer has expired and a 0x00 packet is received.

If the source is sending sACN Sync packets, this callback will only be called when the sync packet is received, if the source forces the packet, or if the source sends a data packet without a sync universe. TODO: this version of the sACN library does not support sACN Sync. This paragraph will be valid in the future.

Parameters
receiver_handleThe receiver's handle.
source_addrIP address & port of the packet source.
source_infoInformation about the source that sent this data.
universe_dataThe universe data (and relevant information about that data), starting from the first slot of the currently configured footprint.

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