A timed_listener is a way to temporarily attach to an event for a specific timeframe, then detach when complete. A lambda may also be optionally called when the timeout is reached. Destructing the timed_listener detaches any attached event listeners, and cancels any created timers, but does not call any timeout lambda.
More...
template<typename attached_event, class listening_function>
class dpp::timed_listener< attached_event, listening_function >
A timed_listener is a way to temporarily attach to an event for a specific timeframe, then detach when complete. A lambda may also be optionally called when the timeout is reached. Destructing the timed_listener detaches any attached event listeners, and cancels any created timers, but does not call any timeout lambda.
- Template Parameters
-
| attached_event | Event within cluster to attach to within the cluster::dispatch member (dpp::dispatcher object) |
| listening_function | Definition of lambda function that matches up with the attached_event. |
◆ timed_listener()
template<typename attached_event , class listening_function >
Construct a new timed listener object.
- Parameters
-
| cl | Owning cluster |
| _duration | Duration of timed event in seconds |
| event | Event to hook, e.g. cluster.on_message_create |
| on_end | An optional void() lambda to trigger when the timed_listener times out. Calling the destructor before the timeout is reached does not call this lambda. |
| listener | Lambda to receive events. Type must match up properly with that passed into the 'event' parameter. |
◆ ~timed_listener()
template<typename attached_event , class listening_function >
Destroy the timed listener object.