29 #ifndef INCLUDE_OLA_RDM_QUEUEINGRDMCONTROLLER_H_
30 #define INCLUDE_OLA_RDM_QUEUEINGRDMCONTROLLER_H_
51 unsigned int max_queue_size);
67 unsigned int m_max_queue_size;
68 std::queue<outstanding_rdm_request> m_pending_requests;
69 bool m_rdm_request_pending;
73 vector<std::string> m_packets;
77 void MaybeSendRDMRequest();
78 void DispatchNextRequest();
80 void HandleRDMResponse(rdm_response_code status,
82 const vector<std::string> &packets);
96 unsigned int max_queue_size);
105 typedef vector<RDMDiscoveryCallback*> DiscoveryCallbacks;
106 typedef vector<pair<bool, RDMDiscoveryCallback*> >
107 PendingDiscoveryCallbacks;
110 DiscoveryCallbacks m_discovery_callbacks;
111 PendingDiscoveryCallbacks m_pending_discovery_callbacks;
113 void TakeNextAction();
114 bool CheckForBlockingCondition();
116 void StartRDMDiscovery();
121 #endif // INCLUDE_OLA_RDM_QUEUEINGRDMCONTROLLER_H_