After unpacking, the reading loop will yield from the event dispatch, which means it waits until all handlers run for the event, before continuing.
Instead, events.trigger should be a non-blocking call. That is, it should push the event into a queue, then return execution to the caller.
I'm working on accordian to fix this - however, in trying to use the 3.5 syntax (await and async as keywords) I've run into other problems. Once I've finished testing the library, I'll integrate it into bottom. This will require 3.5+ to use bottom, but the migration from 3.4 (current requirement) to 3.5 is virtually painless (I haven't seen any reports of problems migrating).
After unpacking, the reading loop will
yield from
the event dispatch, which means it waits until all handlers run for the event, before continuing.Instead,
events.trigger
should be a non-blocking call. That is, it should push the event into a queue, then return execution to the caller.I'm working on accordian to fix this - however, in trying to use the 3.5 syntax (
await
andasync
as keywords) I've run into other problems. Once I've finished testing the library, I'll integrate it into bottom. This will require 3.5+ to use bottom, but the migration from 3.4 (current requirement) to 3.5 is virtually painless (I haven't seen any reports of problems migrating).