RFE: Provide IO::Select handling
To enhance responsiveness it would be useful to allow the chosen poll delay to be combined with IO::Select capability.
This way we can, for instance, wake immediately when there is something to be read.
To be decided is how best to handle this.
The simplest is simply to have properties to hold Read/Write/Exception values that are then passed to the IO::Select->select method along with the timeout. The return values can be made available as externally read-only properties.
The cleaner method might be to provide a small selection of methods (or have as a supplement to the above).
- add_read_handles( handles ... )
- remove_read_handles( handles ... )
- exists_read_handle( handle )
- add_write_handles
- remove_write_handles
- exists_write_handle
- add_exception_handles
- remove_exception_handles
- exists_exception_handles
This version then means all ops can be performed directly on the loop object rather than considering which underlying module actually handles the details.