Open Lighting Architecture: ola::rdm::QueueingRDMController Class Reference

| Open Lighting Architecture 0.10.9

Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ola::rdm::QueueingRDMController Class Reference
Inheritance diagram for ola::rdm::QueueingRDMController:

## 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

## Member Function Documentation

## ◆ CheckForBlockingCondition()

bool ola::rdm::QueueingRDMController::CheckForBlockingCondition | ( |  | ) |
| 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.

Returns
  true if some other action is running, false otherwise.

## ◆ Pause()

void ola::rdm::QueueingRDMController::Pause | ( |  | ) |

Pause the sending of RDM messages. This won't cancel any message in-flight.

## ◆ Resume()

void ola::rdm::QueueingRDMController::Resume | ( |  | ) |

Resume the sending of RDM requests.

## ◆ SendRDMRequest()

void ola::rdm::QueueingRDMController::SendRDMRequest | ( | RDMRequest * | request,
|  | RDMCallback * | on_complete )
| virtual

Queue an RDM request for sending.

Implements ola::rdm::RDMControllerInterface.

## ◆ TakeNextAction()

void ola::rdm::QueueingRDMController::TakeNextAction | ( |  | ) |
| protectedvirtual

Do the next action.

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

- include/ola/rdm/QueueingRDMController.h
- common/rdm/QueueingRDMController.cpp