eventless:EventletGevent 启发了 Ruby 的异步、事件驱动的网络库

时间:2021-07-01 18:04:36
【文件属性】:
文件名称:eventless:EventletGevent 启发了 Ruby 的异步、事件驱动的网络库
文件大小:33KB
文件格式:ZIP
更新时间:2021-07-01 18:04:36
Ruby 无事件 注意:Eventless 是未维护的。 你绝对不应该将它用于任何事情。 Eventless 渴望成为 Ruby 的并发网络库,让您可以编写异步、事件驱动的代码,看起来像普通的阻塞代码。 它使用 Fibers,因此需要 Ruby 1.9。 它还通过 Tony Arcieri 的 cool.io 使用 Marc Lehmann 的 libev。 Eventless是由大量的启发 。 现在它更像是一个实验而不是一个实际的图书馆,但我正在努力。 ##这个怎么运作 无事件猴子修补Socket以使其 API 异步。 您的所有代码都在Fiber运行。 您可以使用Eventless.spawn制作新的纤维。 Fiber.new将不起作用。 您的代码应该看起来完全相同,但是当您调用通常会阻塞的东西时,您的光纤会在事件循环中进入睡眠状态,并在有数据要读取或写入时被唤醒。 ##如何使用它 因为
【文件预览】:
eventless-master
----.gitmodules(183B)
----script()
--------socket_coverage.rb(2KB)
----lib()
--------eventless()
--------eventless.rb(736B)
----Gemfile(256B)
----Rakefile(1KB)
----examples()
--------mutex.rb(434B)
--------join_with_timeout.rb(238B)
--------openuri.rb(289B)
--------ds_client.rb(460B)
--------openuri-resolv.rb(307B)
--------exception.rb(602B)
--------event.rb(380B)
--------sleep.rb(552B)
--------thread.rb(170B)
--------addrinfo.rb(262B)
--------select_timeout.rb(518B)
--------socket.rb(925B)
--------link_after_dead.rb(336B)
--------threadpool_exception.rb(162B)
--------rack.rb(496B)
--------transfer_and_raise.rb(1KB)
--------fiber_return_values.rb(709B)
--------resolver.rb(274B)
--------run_all.sh(52B)
--------ds_server.rb(599B)
--------ruby_timeout.rb(231B)
--------timeout.rb(1KB)
----LICENSE(1KB)
----test()
--------rubyspec()
--------mspec()
----README.md(4KB)
----eventless.gemspec(943B)
----ext()
--------sockaddr()
----.gitignore(80B)

网友评论