Open Lighting Architecture
0.9.6
|
Classes | |
struct | outstanding_rdm_request |
Public Member Functions | |
QueueingRDMController (RDMControllerInterface *controller, unsigned int max_queue_size) | |
void | Pause () |
void | Resume () |
void | SendRDMRequest (RDMRequest *request, RDMCallback *on_complete) |
Protected Member Functions | |
virtual void | TakeNextAction () |
virtual bool | CheckForBlockingCondition () |
void | MaybeSendRDMRequest () |
void | DispatchNextRequest () |
void | HandleRDMResponse (RDMReply *reply) |
void | RunCallback (RDMReply *reply) |
Protected Attributes | |
RDMControllerInterface * | m_controller |
unsigned int | m_max_queue_size |
std::queue < outstanding_rdm_request > | m_pending_requests |
bool | m_rdm_request_pending |
bool | m_active |
std::auto_ptr< RDMCallback > | m_callback |
std::auto_ptr < ola::rdm::RDMResponse > | m_response |
std::vector< RDMFrame > | m_frames |
|
protectedvirtual |
This method runs before we decide to send another request and allows sub classes (like the DiscoverableQueueingRDMController) to insert other actions into the queue.
void ola::rdm::QueueingRDMController::Pause | ( | ) |
Pause the sending of RDM messages. This won't cancel any message in-flight.
void ola::rdm::QueueingRDMController::Resume | ( | ) |
Resume the sending of RDM requests.
|
virtual |
Queue an RDM request for sending.
Implements ola::rdm::RDMControllerInterface.
|
protectedvirtual |
Do the next action.