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.