Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::events::CoalescedUpdater Class Referenceabstract

Coalescing async update — trigger from any thread, callback runs on event thread. More...

#include <coalesced_updater.hpp>

Public Member Functions

 CoalescedUpdater ()=default
virtual ~CoalescedUpdater ()=default
void request_update ()
 Trigger an async update.
void cancel_update ()
 Cancel a pending update.
bool update_pending () const
 Whether an update is pending.
virtual void on_update ()=0
 Override this to handle the async update (runs on event thread).
void process_pending ()
 Called by the event loop to process pending updates.

Detailed Description

Coalescing async update — trigger from any thread, callback runs on event thread.

Multiple triggers between callbacks are coalesced into a single call.

Constructor & Destructor Documentation

◆ CoalescedUpdater()

pulp::events::CoalescedUpdater::CoalescedUpdater ( )
default

◆ ~CoalescedUpdater()

virtual pulp::events::CoalescedUpdater::~CoalescedUpdater ( )
virtualdefault

Member Function Documentation

◆ cancel_update()

void pulp::events::CoalescedUpdater::cancel_update ( )
inline

Cancel a pending update.

◆ on_update()

virtual void pulp::events::CoalescedUpdater::on_update ( )
pure virtual

Override this to handle the async update (runs on event thread).

Implemented in pulp::events::LambdaCoalescedUpdater.

◆ process_pending()

void pulp::events::CoalescedUpdater::process_pending ( )
inline

Called by the event loop to process pending updates.

◆ request_update()

void pulp::events::CoalescedUpdater::request_update ( )
inline

Trigger an async update.

Safe to call from any thread. If already triggered but not yet handled, the call is coalesced.

◆ update_pending()

bool pulp::events::CoalescedUpdater::update_pending ( ) const
inline

Whether an update is pending.


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