29 #ifndef INCLUDE_OLA_RDM_QUEUEINGRDMCONTROLLER_H_
30 #define INCLUDE_OLA_RDM_QUEUEINGRDMCONTROLLER_H_
48 unsigned int max_queue_size);
64 unsigned int m_max_queue_size;
65 std::queue<outstanding_rdm_request> m_pending_requests;
66 bool m_rdm_request_pending;
70 std::vector<std::string> m_packets;
74 void MaybeSendRDMRequest();
75 void DispatchNextRequest();
77 void HandleRDMResponse(rdm_response_code status,
79 const std::vector<std::string> &packets);
93 unsigned int max_queue_size);
102 typedef std::vector<RDMDiscoveryCallback*> DiscoveryCallbacks;
103 typedef std::vector<std::pair<bool, RDMDiscoveryCallback*> >
104 PendingDiscoveryCallbacks;
107 DiscoveryCallbacks m_discovery_callbacks;
108 PendingDiscoveryCallbacks m_pending_discovery_callbacks;
110 void TakeNextAction();
111 bool CheckForBlockingCondition();
113 void StartRDMDiscovery();
118 #endif // INCLUDE_OLA_RDM_QUEUEINGRDMCONTROLLER_H_