Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::dataplane::ValueChannelTelemetryAttachment Class Reference

Exclusive reader attachment for every telemetry sidecar in one channel set. More...

#include <value_channel_telemetry.hpp>

Public Member Functions

 ValueChannelTelemetryAttachment ()
 ~ValueChannelTelemetryAttachment ()
 ValueChannelTelemetryAttachment (ValueChannelTelemetryAttachment &&) noexcept
ValueChannelTelemetryAttachment & operator= (ValueChannelTelemetryAttachment &&) noexcept
 ValueChannelTelemetryAttachment (const ValueChannelTelemetryAttachment &)=delete
ValueChannelTelemetryAttachment & operator= (const ValueChannelTelemetryAttachment &)=delete
bool valid () const noexcept
std::span< const ValueChannelTelemetryDescriptor > channels () const noexcept
bool read_continuous (std::size_t index, ValueChannelTelemetrySnapshot &snapshot) noexcept
 Read the latest UI-consumed snapshot.
bool try_pop_events (std::size_t index, ValueChannelTelemetryEventBatch &batch) noexcept
 Pop the next producer event batch.
ValueChannelTelemetryEventStats event_stats (std::size_t index) const noexcept
bool source_alive (std::size_t index) const noexcept

Friends

class ValueChannelSet

Detailed Description

Exclusive reader attachment for every telemetry sidecar in one channel set.

Only one attachment may exist at a time. Its continuous reads are the sole reader of the sidecar buffers, and its event pops are the sole reader of the producer SPSC taps. All read and pop calls on an attachment must therefore be serialized on one broker thread.

Constructor & Destructor Documentation

◆ ValueChannelTelemetryAttachment() [1/3]

pulp::dataplane::ValueChannelTelemetryAttachment::ValueChannelTelemetryAttachment ( )

◆ ~ValueChannelTelemetryAttachment()

pulp::dataplane::ValueChannelTelemetryAttachment::~ValueChannelTelemetryAttachment ( )

◆ ValueChannelTelemetryAttachment() [2/3]

pulp::dataplane::ValueChannelTelemetryAttachment::ValueChannelTelemetryAttachment ( ValueChannelTelemetryAttachment && )
noexcept

◆ ValueChannelTelemetryAttachment() [3/3]

pulp::dataplane::ValueChannelTelemetryAttachment::ValueChannelTelemetryAttachment ( const ValueChannelTelemetryAttachment & )
delete

Member Function Documentation

◆ channels()

std::span< const ValueChannelTelemetryDescriptor > pulp::dataplane::ValueChannelTelemetryAttachment::channels ( ) const
noexcept

◆ event_stats()

ValueChannelTelemetryEventStats pulp::dataplane::ValueChannelTelemetryAttachment::event_stats ( std::size_t index) const
noexcept

◆ operator=() [1/2]

ValueChannelTelemetryAttachment & pulp::dataplane::ValueChannelTelemetryAttachment::operator= ( const ValueChannelTelemetryAttachment & )
delete

◆ operator=() [2/2]

ValueChannelTelemetryAttachment & pulp::dataplane::ValueChannelTelemetryAttachment::operator= ( ValueChannelTelemetryAttachment && )
noexcept

◆ read_continuous()

bool pulp::dataplane::ValueChannelTelemetryAttachment::read_continuous ( std::size_t index,
ValueChannelTelemetrySnapshot & snapshot )
noexcept

Read the latest UI-consumed snapshot.

Returns false for event channels or an invalid index. A valid continuous channel can return available=false until its UI path has performed a read.

◆ source_alive()

bool pulp::dataplane::ValueChannelTelemetryAttachment::source_alive ( std::size_t index) const
noexcept

◆ try_pop_events()

bool pulp::dataplane::ValueChannelTelemetryAttachment::try_pop_events ( std::size_t index,
ValueChannelTelemetryEventBatch & batch )
noexcept

Pop the next producer event batch.

Returns false for continuous channels, an invalid index, or an empty tap.

◆ valid()

bool pulp::dataplane::ValueChannelTelemetryAttachment::valid ( ) const
noexcept

◆ ValueChannelSet

friend class ValueChannelSet
friend

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