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

Dormant typed dispatcher over the broker composition root. More...

#include <control_service.hpp>

Classes

class  Session
 Carrier-owned state for exactly one authenticated local connection. More...

Public Types

using ProgressReporter = ControlProgressReporter
using ProgressSink = std::function<bool(const ControlProgressEnvelope&)>
using Executor = ControlOperationExecutor

Public Member Functions

 ControlService (ControlBroker &broker, Executor executor={}, ControlServiceConfig config={})
 ~ControlService ()
Session open_session (const VerifiedControlPeerIdentity &peer, const ControlClientId &connection_client_id, ProgressSink progress_sink={}, bool disconnect_client_on_close=true)
bool is_listening () const

Detailed Description

Dormant typed dispatcher over the broker composition root.

The service owns no listener or transport. A carrier verifies the peer and passes its proof plus the bounded encoded envelope here. The injected executor is the only path from admission into operation-specific work.

Member Typedef Documentation

◆ Executor

◆ ProgressReporter

◆ ProgressSink

Constructor & Destructor Documentation

◆ ControlService()

pulp::inspect::ControlService::ControlService ( ControlBroker & broker,
Executor executor = {},
ControlServiceConfig config = {} )
explicit

◆ ~ControlService()

pulp::inspect::ControlService::~ControlService ( )

Member Function Documentation

◆ is_listening()

bool pulp::inspect::ControlService::is_listening ( ) const
inline

◆ open_session()

Session pulp::inspect::ControlService::open_session ( const VerifiedControlPeerIdentity & peer,
const ControlClientId & connection_client_id,
ProgressSink progress_sink = {},
bool disconnect_client_on_close = true )

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