socketry / async-io

Concurrent wrappers for native Ruby IO & Sockets.
MIT License
209 stars 28 forks source link

Use native I/O when the scheduler is supported. #47

Closed ioquatix closed 2 weeks ago

ioquatix commented 3 years ago

Description

This changes the implementation to delegate directly to native I/O where possible. However, there is one bug in the Ruby 3.0.0 (& 3.0.1) release which prevent its use (https://bugs.ruby-lang.org/issues/17527). This has been fixed and should be released in Ruby 3.1 and hopefully back ported to 3.0 eventually.

Types of Changes

Testing

paddor commented 8 months ago

Seems like io-event already dropped support for Ruby 3.0. So this can be merged?

ioquatix commented 8 months ago

I'm still considering the options of deprecating this entire gem vs trying to update it.

paddor commented 8 months ago

That's good to know. Would Async::IO::Generic survive? I'm working on a wrapper class for ZMQ, where an FD is used to detect readability/writability, but not for the actual reading/writing of messages.

paddor commented 8 months ago

Just FYI: The wrapper works fine, but inherits from Async::IO::Generic. That class will probably have to stay available in one way or another.

paddor commented 8 months ago

Last FYI: I was able to refactor the code so it doesn't need async-io at all anymore. Sometimes the simple solutions take a while...

Thanks for your support.

ioquatix commented 2 weeks ago

This is non longer relevant.