| 196 | } |
| 197 | |
| 198 | void EventQueue::addEventToBuffer(Event &&event) |
| 199 | { |
| 200 | std::scoped_lock lock{m_mutex}; |
| 201 | |
| 202 | // store the event's data locally |
| 203 | auto eventID = saveEvent(std::move(event)); |
| 204 | |
| 205 | // add it |
| 206 | if (!m_buffer->addEvent(eventID)) { |
| 207 | // failed to send event |
| 208 | auto removedEvent = removeEvent(eventID); |
| 209 | Event::deleteData(removedEvent); |
| 210 | } |
| 211 | } |
| 212 | |
| 213 | EventQueueTimer *EventQueue::newTimer(double duration, void *target) |
| 214 | { |