Public Member Functions | |
| DelayedQueue (Mqtt *mqtt) | |
| ~DelayedQueue () | |
| void | delayPublish (const utils::Timeval &delay, const iot::mqtt::packets::Publish &publish) |
| bool | empty () const |
| const ScheduledPublish & | top () const |
| void | pop () |
Private Member Functions | |
| void | processDue () |
| void | armDelayTimer () |
Private Attributes | |
| Mqtt * | mqtt |
| std::size_t | nextSeq = 0 |
| std::priority_queue< ScheduledPublish, std::vector< ScheduledPublish >, EarlierFirst > | minHeap |
| core::timer::Timer | delayTimer |
|
explicit |
Definition at line 86 of file Mqtt.cpp.
References mqtt.
Referenced by mqtt::mqttbroker::lib::Mqtt::Mqtt().
| mqtt::mqttbroker::lib::Mqtt::DelayedQueue::~DelayedQueue | ( | ) |
Definition at line 90 of file Mqtt.cpp.
References delayTimer.
|
private |
Definition at line 108 of file Mqtt.cpp.
References armDelayTimer(), delayTimer, empty(), processDue(), top(), and mqtt::mqttbroker::lib::Mqtt::ScheduledPublish::when.
Referenced by armDelayTimer(), and delayPublish().
| void mqtt::mqttbroker::lib::Mqtt::DelayedQueue::delayPublish | ( | const utils::Timeval & | delay, |
| const iot::mqtt::packets::Publish & | publish ) |
Definition at line 127 of file Mqtt.cpp.
References armDelayTimer(), minHeap, and nextSeq.
Referenced by mqtt::mqttbroker::lib::Mqtt::onPublish().
| bool mqtt::mqttbroker::lib::Mqtt::DelayedQueue::empty | ( | ) | const |
Definition at line 132 of file Mqtt.cpp.
References minHeap.
Referenced by armDelayTimer(), and processDue().
| void mqtt::mqttbroker::lib::Mqtt::DelayedQueue::pop | ( | ) |
Definition at line 140 of file Mqtt.cpp.
References minHeap.
Referenced by processDue().
|
private |
Definition at line 94 of file Mqtt.cpp.
References empty(), mqtt, mqtt::mqttbroker::lib::Mqtt::onPublish(), pop(), mqtt::mqttbroker::lib::Mqtt::ScheduledPublish::publish, top(), and mqtt::mqttbroker::lib::Mqtt::ScheduledPublish::when.
Referenced by armDelayTimer().
| Mqtt::ScheduledPublish const & mqtt::mqttbroker::lib::Mqtt::DelayedQueue::top | ( | ) | const |
Definition at line 136 of file Mqtt.cpp.
References minHeap.
Referenced by armDelayTimer(), and processDue().
|
private |
Definition at line 107 of file Mqtt.h.
Referenced by armDelayTimer(), and ~DelayedQueue().
|
private |
|
private |
Definition at line 103 of file Mqtt.h.
Referenced by DelayedQueue(), and processDue().
|
private |
Definition at line 104 of file Mqtt.h.
Referenced by delayPublish().