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

#include <program_compiler.hpp>

Public Member Functions

 PlaybackProgramCompiler (PlaybackProgramStore &store, CompileExecutor &executor, std::chrono::microseconds coalescing_window=std::chrono::milliseconds(10))
 The store and executor must outlive every task they accept.
 ~PlaybackProgramCompiler ()
 PlaybackProgramCompiler (const PlaybackProgramCompiler &)=delete
PlaybackProgramCompiler & operator= (const PlaybackProgramCompiler &)=delete
runtime::Result< CompileTicket, CompileError > submit (ProgramCompileRequest request)
CompilerStatus status () const

Constructor & Destructor Documentation

◆ PlaybackProgramCompiler() [1/2]

pulp::playback::PlaybackProgramCompiler::PlaybackProgramCompiler ( PlaybackProgramStore & store,
CompileExecutor & executor,
std::chrono::microseconds coalescing_window = std::chrono::milliseconds(10) )

The store and executor must outlive every task they accept.

Destroying this facade stops new submissions; accepted tasks retain shared compiler state and may finish without dereferencing the facade. Tickets and status epochs are scoped to this compiler instance; destroying the facade forfeits observation of any retained task's completion. Exactly one control thread submits requests; task execution may occur on any executor thread.

◆ ~PlaybackProgramCompiler()

pulp::playback::PlaybackProgramCompiler::~PlaybackProgramCompiler ( )

◆ PlaybackProgramCompiler() [2/2]

pulp::playback::PlaybackProgramCompiler::PlaybackProgramCompiler ( const PlaybackProgramCompiler & )
delete

Member Function Documentation

◆ operator=()

PlaybackProgramCompiler & pulp::playback::PlaybackProgramCompiler::operator= ( const PlaybackProgramCompiler & )
delete

◆ status()

CompilerStatus pulp::playback::PlaybackProgramCompiler::status ( ) const

◆ submit()

runtime::Result< CompileTicket, CompileError > pulp::playback::PlaybackProgramCompiler::submit ( ProgramCompileRequest request)

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