This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
# Released under the MIT License.
|
||||
# Copyright, 2017-2024, by Samuel Williams.
|
||||
# Copyright, 2017, by Kent Gruber.
|
||||
# Copyright, 2018, by Sokolov Yura.
|
||||
|
||||
require_relative "scheduler"
|
||||
|
||||
module Async
|
||||
# A wrapper around the the scheduler which binds it to the current thread automatically.
|
||||
class Reactor < Scheduler
|
||||
# @deprecated Replaced by {Kernel::Async}.
|
||||
def self.run(...)
|
||||
Async(...)
|
||||
end
|
||||
|
||||
# Initialize the reactor and assign it to the current Fiber scheduler.
|
||||
def initialize(...)
|
||||
super
|
||||
|
||||
Fiber.set_scheduler(self)
|
||||
end
|
||||
|
||||
# Close the reactor and remove it from the current Fiber scheduler.
|
||||
def scheduler_close
|
||||
self.close
|
||||
end
|
||||
|
||||
public :sleep
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user