kameloso.plugins.common.scheduling

The section of kameloso.plugins.common that deals with delaying executing of Fibers and delegates to a later point in time, and registering such to await a specific type of IRCEvent.

This was all in one plugins/common.d file that just grew too big.

Members

Functions

await
void await(IRCPlugin plugin, Fiber fiber, IRCEvent.Type type)

Queues a Fiber to be called whenever the next parsed and triggering IRCEvent matches the passed IRCEvent.Type type.

await
void await(IRCPlugin plugin, IRCEvent.Type type, Flag!"yield" yield)

Queues a Fiber to be called whenever the next parsed and triggering IRCEvent matches the passed IRCEvent.Type type. Overload that implicitly queues [core.thread.fiber.Fiber.getThis()|Fiber.getThis()].

await
void await(IRCPlugin plugin, Fiber fiber, IRCEvent.Type[] types)

Queues a Fiber to be called whenever the next parsed and triggering IRCEvent matches any of the passed IRCEvent.Type types.

await
void await(IRCPlugin plugin, IRCEvent.Type[] types, Flag!"yield" yield)

Queues a Fiber to be called whenever the next parsed and triggering IRCEvent matches any of the passed IRCEvent.Type types. Overload that implicitly queues [core.thread.fiber.Fiber.getThis()|Fiber.getThis()].

await
void await(IRCPlugin plugin, void delegate(IRCEvent) dg, IRCEvent.Type type)

Queues a void delegate(IRCEvent) delegate to be called whenever the next parsed and triggering const IRCEvent matches the passed IRCEvent.Type type.

await
void await(IRCPlugin plugin, void delegate(IRCEvent) dg, IRCEvent.Type[] types)

Queues a void delegate(IRCEvent) delegate to be called whenever the next parsed and triggering const IRCEvent matches the passed IRCEvent.Type types. Overload that takes an array of types.

delay
void delay(IRCPlugin plugin, Fiber fiber, Duration duration, string caller)

Queues a Fiber to be called at a point duration later, by appending it to the plugin's IRCPluginState.scheduledFibers.

delay
void delay(IRCPlugin plugin, Duration duration, Flag!"yield" yield, string caller)

Queues a Fiber to be called at a point duration later, by appending it to the plugin's IRCPluginState.scheduledFibers. Overload that implicitly queues [core.thread.fiber.Fiber.getThis()|Fiber.getThis()].

delay
void delay(IRCPlugin plugin, void delegate() dg, Duration duration, string caller)

Queues a void delegate() delegate to be called at a point duration later, by appending it to the plugin's IRCPluginState.scheduledDelegates.

unawait
void unawait(IRCPlugin plugin, Fiber fiber, IRCEvent.Type type, Flag!"fully" fully)

Dequeues a Fiber from being called whenever the next parsed and triggering IRCEvent matches the passed IRCEvent.Type type.

unawait
void unawait(IRCPlugin plugin, IRCEvent.Type type, Flag!"fully" fully)

Dequeues a Fiber from being called whenever the next parsed and triggering IRCEvent matches the passed IRCEvent.Type type. Overload that implicitly dequeues [core.thread.fiber.Fiber.getThis()|Fiber.getThis()].

unawait
void unawait(IRCPlugin plugin, Fiber fiber, IRCEvent.Type[] types, Flag!"fully" fully)

Dequeues a Fiber from being called whenever the next parsed and triggering IRCEvent matches any of the passed IRCEvent.Type types.

unawait
void unawait(IRCPlugin plugin, IRCEvent.Type[] types, Flag!"fully" fully)

Dequeues a Fiber from being called whenever the next parsed and triggering IRCEvent matches any of the passed IRCEvent.Type types. Overload that implicitly dequeues [core.thread.fiber.Fiber.getThis()|Fiber.getThis()].

unawait
void unawait(IRCPlugin plugin, void delegate(IRCEvent) dg, IRCEvent.Type type, Flag!"fully" fully)

Dequeues a void delegate(IRCEvent) delegate from being called whenever the next parsed and triggering IRCEvent matches the passed IRCEvent.Type type.

unawait
void unawait(IRCPlugin plugin, void delegate(IRCEvent) dg, IRCEvent.Type[] types, Flag!"fully" fully)

Dequeues a void delegate(IRCEvent) delegate from being called whenever the next parsed and triggering IRCEvent matches any of the passed IRCEvent.Type types. Overload that takes a array of types.

unawaitImpl
void unawaitImpl(Thing thing, AA aa, IRCEvent.Type type, Flag!"fully" fully)

Dequeues something from being called whenever the next parsed and triggering IRCEvent matches the passed IRCEvent.Type type. Implementation template.

undelay
void undelay(IRCPlugin plugin, Fiber fiber)

Removes a Fiber from being called at any point later.

undelay
void undelay(IRCPlugin plugin)

Removes a Fiber from being called at any point later. Overload that implicitly removes [core.thread.fiber.Fiber.getThis()|Fiber.getThis()()].

undelay
void undelay(IRCPlugin plugin, void delegate() dg)

Removes a void delegate() delegate from being called at any point later by nulling it.

See Also

Meta