A task for moving the async network events between threads.
An off-thread sink for async network event tasks. All such events are forwarded to a target thread, where they are invoked on the provided context object.


A gating mechanism that runs before invoking the task on the target thread. If the should_invoke method returns false, the task is discarded without being invoked.