This library encapsulates the state machine for handling smbus requests on the module ("slave") side. The only requirements on the hardware driver/implementation is that they generate these events:
Whether these events are generated by polling, interrupts, or dma does not matter. The state machine is agnostic to clock stretching and timing details.