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

Encodes StateTree changes as deltas for transmission. More...

#include <state_tree_sync.hpp>

Public Member Functions

 StateTreeSynchroniser ()=default
void attach (StateTree::Ptr tree)
 Attach to a tree and start recording changes.
void detach ()
 Detach and stop recording.
std::vector< SyncDelta > take_deltas ()
 Get pending deltas since last call (clears the buffer).

Static Public Member Functions

static std::vector< uint8_t > encode (const std::vector< SyncDelta > &deltas)
 Encode deltas as binary for transmission.
static std::vector< SyncDelta > decode (const uint8_t *data, size_t size)
 Decode binary deltas.
static void apply (StateTree &tree, const std::vector< SyncDelta > &deltas)
 Apply deltas to a tree.

Detailed Description

Encodes StateTree changes as deltas for transmission.

Constructor & Destructor Documentation

◆ StateTreeSynchroniser()

pulp::state::StateTreeSynchroniser::StateTreeSynchroniser ( )
default

Member Function Documentation

◆ apply()

void pulp::state::StateTreeSynchroniser::apply ( StateTree & tree,
const std::vector< SyncDelta > & deltas )
static

Apply deltas to a tree.

◆ attach()

void pulp::state::StateTreeSynchroniser::attach ( StateTree::Ptr tree)

Attach to a tree and start recording changes.

Listeners use immediate delivery, so every edit inside a StateTree transaction (and every revert of an aborted one) produces a delta in edit order.

◆ decode()

std::vector< SyncDelta > pulp::state::StateTreeSynchroniser::decode ( const uint8_t * data,
size_t size )
static

Decode binary deltas.

◆ detach()

void pulp::state::StateTreeSynchroniser::detach ( )

Detach and stop recording.

◆ encode()

std::vector< uint8_t > pulp::state::StateTreeSynchroniser::encode ( const std::vector< SyncDelta > & deltas)
static

Encode deltas as binary for transmission.

◆ take_deltas()

std::vector< SyncDelta > pulp::state::StateTreeSynchroniser::take_deltas ( )

Get pending deltas since last call (clears the buffer).


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