Open Lighting Architecture  Latest Git
Public Member Functions | List of all members
ola::rdm::DiscoverableQueueingRDMController Class Reference

Detailed Description

The DiscoverableQueueingRDMController also handles discovery, and ensures that only a single discovery or RDM request sequence occurs at once.

In this model, discovery has a higher precedence than RDM messages.

Inheritance diagram for ola::rdm::DiscoverableQueueingRDMController:
Inheritance graph
[legend]
Collaboration diagram for ola::rdm::DiscoverableQueueingRDMController:
Collaboration graph
[legend]

Public Member Functions

 DiscoverableQueueingRDMController (DiscoverableRDMControllerInterface *controller, unsigned int max_queue_size)
 
void RunFullDiscovery (RDMDiscoveryCallback *callback)
 
void RunIncrementalDiscovery (RDMDiscoveryCallback *callback)
 
- Public Member Functions inherited from ola::rdm::QueueingRDMController
 QueueingRDMController (RDMControllerInterface *controller, unsigned int max_queue_size)
 
void Pause ()
 
void Resume ()
 
void SendRDMRequest (RDMRequest *request, RDMCallback *on_complete)
 

Additional Inherited Members

- Protected Member Functions inherited from ola::rdm::QueueingRDMController
void MaybeSendRDMRequest ()
 
void DispatchNextRequest ()
 
void HandleRDMResponse (RDMReply *reply)
 
void RunCallback (RDMReply *reply)
 
- Protected Attributes inherited from ola::rdm::QueueingRDMController
RDMControllerInterfacem_controller
 
unsigned int m_max_queue_size
 
std::queue< outstanding_rdm_requestm_pending_requests
 
bool m_rdm_request_pending
 
bool m_active
 
std::auto_ptr< RDMCallbackm_callback
 
std::auto_ptr< ola::rdm::RDMResponsem_response
 
std::vector< RDMFramem_frames
 

Constructor & Destructor Documentation

◆ DiscoverableQueueingRDMController()

ola::rdm::DiscoverableQueueingRDMController::DiscoverableQueueingRDMController ( DiscoverableRDMControllerInterface controller,
unsigned int  max_queue_size 
)

Constructor for the DiscoverableQueueingRDMController

Member Function Documentation

◆ RunFullDiscovery()

void ola::rdm::DiscoverableQueueingRDMController::RunFullDiscovery ( RDMDiscoveryCallback callback)

Run the full RDM discovery routine. This will either run immediately or after the current request completes.

◆ RunIncrementalDiscovery()

void ola::rdm::DiscoverableQueueingRDMController::RunIncrementalDiscovery ( RDMDiscoveryCallback callback)

Run the incremental RDM discovery routine. This will either run immediately or after the current request completes.


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