Extend io_handler interface with descriptor switching