Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::host::GraphAuthoredEventLane< MaxFrames, MaxAcceptedPerSample > Class Template Referencefinal

Explicit producer/consumer phases for a bounded, single-producer event lane. More...

#include <graph_event_contract.hpp>

Public Member Functions

GraphEventResult reset (std::uint64_t epoch) noexcept
GraphEventResult begin_block (std::uint64_t epoch, std::uint64_t sample_start, std::size_t frames) noexcept
GraphEventResult begin_sample (std::size_t offset) noexcept
GraphEventResult emit (std::uint64_t epoch, std::uint32_t producer, std::uint16_t payload, std::uint64_t target_sample, std::uint8_t source_port=0, std::uint8_t kind=1) noexcept
GraphEventResult begin_consumer () noexcept
std::span< const GraphAuthoredEvent > received () const noexcept
GraphEventResult end_sample () noexcept
GraphEventResult end_block () noexcept
const GraphEventCounters & counters () const noexcept
std::span< const GraphAuthoredEvent > trace () const noexcept
std::uint64_t epoch () const noexcept
bool active () const noexcept

Static Public Attributes

static constexpr std::size_t kMaxAttemptsPerSample = 16
static constexpr std::size_t kRecordBytes

Friends

struct detail::GraphEventLaneTestAccess

Detailed Description

template<std::size_t MaxFrames = 4096, std::size_t MaxAcceptedPerSample = 8>
class pulp::host::GraphAuthoredEventLane< MaxFrames, MaxAcceptedPerSample >

Explicit producer/consumer phases for a bounded, single-producer event lane.

This is a contract primitive; SignalGraph remains the owner of admission, topology and publication of a concrete node pair.

Member Function Documentation

◆ active()

template<std::size_t MaxFrames = 4096, std::size_t MaxAcceptedPerSample = 8>
bool pulp::host::GraphAuthoredEventLane< MaxFrames, MaxAcceptedPerSample >::active ( ) const
inlinenoexcept

◆ begin_block()

template<std::size_t MaxFrames = 4096, std::size_t MaxAcceptedPerSample = 8>
GraphEventResult pulp::host::GraphAuthoredEventLane< MaxFrames, MaxAcceptedPerSample >::begin_block ( std::uint64_t epoch,
std::uint64_t sample_start,
std::size_t frames )
inlinenoexcept

◆ begin_consumer()

template<std::size_t MaxFrames = 4096, std::size_t MaxAcceptedPerSample = 8>
GraphEventResult pulp::host::GraphAuthoredEventLane< MaxFrames, MaxAcceptedPerSample >::begin_consumer ( )
inlinenoexcept

◆ begin_sample()

template<std::size_t MaxFrames = 4096, std::size_t MaxAcceptedPerSample = 8>
GraphEventResult pulp::host::GraphAuthoredEventLane< MaxFrames, MaxAcceptedPerSample >::begin_sample ( std::size_t offset)
inlinenoexcept

◆ counters()

template<std::size_t MaxFrames = 4096, std::size_t MaxAcceptedPerSample = 8>
const GraphEventCounters & pulp::host::GraphAuthoredEventLane< MaxFrames, MaxAcceptedPerSample >::counters ( ) const
inlinenoexcept

◆ emit()

template<std::size_t MaxFrames = 4096, std::size_t MaxAcceptedPerSample = 8>
GraphEventResult pulp::host::GraphAuthoredEventLane< MaxFrames, MaxAcceptedPerSample >::emit ( std::uint64_t epoch,
std::uint32_t producer,
std::uint16_t payload,
std::uint64_t target_sample,
std::uint8_t source_port = 0,
std::uint8_t kind = 1 )
inlinenoexcept

◆ end_block()

template<std::size_t MaxFrames = 4096, std::size_t MaxAcceptedPerSample = 8>
GraphEventResult pulp::host::GraphAuthoredEventLane< MaxFrames, MaxAcceptedPerSample >::end_block ( )
inlinenoexcept

◆ end_sample()

template<std::size_t MaxFrames = 4096, std::size_t MaxAcceptedPerSample = 8>
GraphEventResult pulp::host::GraphAuthoredEventLane< MaxFrames, MaxAcceptedPerSample >::end_sample ( )
inlinenoexcept

◆ epoch()

template<std::size_t MaxFrames = 4096, std::size_t MaxAcceptedPerSample = 8>
std::uint64_t pulp::host::GraphAuthoredEventLane< MaxFrames, MaxAcceptedPerSample >::epoch ( ) const
inlinenoexcept

◆ received()

template<std::size_t MaxFrames = 4096, std::size_t MaxAcceptedPerSample = 8>
std::span< const GraphAuthoredEvent > pulp::host::GraphAuthoredEventLane< MaxFrames, MaxAcceptedPerSample >::received ( ) const
inlinenoexcept

◆ reset()

template<std::size_t MaxFrames = 4096, std::size_t MaxAcceptedPerSample = 8>
GraphEventResult pulp::host::GraphAuthoredEventLane< MaxFrames, MaxAcceptedPerSample >::reset ( std::uint64_t epoch)
inlinenoexcept

◆ trace()

template<std::size_t MaxFrames = 4096, std::size_t MaxAcceptedPerSample = 8>
std::span< const GraphAuthoredEvent > pulp::host::GraphAuthoredEventLane< MaxFrames, MaxAcceptedPerSample >::trace ( ) const
inlinenoexcept

◆ detail::GraphEventLaneTestAccess

template<std::size_t MaxFrames = 4096, std::size_t MaxAcceptedPerSample = 8>
friend struct detail::GraphEventLaneTestAccess
friend

Member Data Documentation

◆ kMaxAttemptsPerSample

template<std::size_t MaxFrames = 4096, std::size_t MaxAcceptedPerSample = 8>
std::size_t pulp::host::GraphAuthoredEventLane< MaxFrames, MaxAcceptedPerSample >::kMaxAttemptsPerSample = 16
staticconstexpr

◆ kRecordBytes

template<std::size_t MaxFrames = 4096, std::size_t MaxAcceptedPerSample = 8>
std::size_t pulp::host::GraphAuthoredEventLane< MaxFrames, MaxAcceptedPerSample >::kRecordBytes
staticconstexpr
Initial value:
=
sizeof(GraphAuthoredEvent) * MaxFrames * MaxAcceptedPerSample
Definition graph_event_contract.hpp:349

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