#pragma once
+#include <systemd/sd-event.h>
#include <queue>
#include <vector>
void cancel_request(active_diagnostic_request_t* entry);
void cleanup_request(active_diagnostic_request_t* entry, bool force);
void cleanup_active_requests(bool force);
- bool lookup_recurring_request(const DiagnosticRequest* request);
-
+ active_diagnostic_request_t* find_recurring_request(const DiagnosticRequest* request);
bool validate_optional_request_attributes(float frequencyHz);
bool add_recurring_request(DiagnosticRequest* request, const char* name,
bool waitForMultipleResponses, const DiagnosticResponseDecoder decoder,
const DiagnosticResponseCallback callback, float frequencyHz);
+
+ bool conflicting(active_diagnostic_request_t* request, active_diagnostic_request_t* candidate) const;
+ bool clear_to_send(active_diagnostic_request_t* request) const;
+ static int send_request(sd_event_source *s, uint64_t usec, void *userdata);
};