Interface introduced in Ruby 3.0 by Samuel Williams. Provides hooks inside the Ruby IO implementation so that, in the presence of a scheduler, blocking IO calls are deferred to the scheduler, which performs them in a fiber-aware non-blocking way. Gives compatibility with essentially the whole Ruby ecosystem without code changes. Current implementations include Samuel Williams's async family of gems and UringMachine's scheduler.