def abort_io(self, iocb, err):
    'Called by a handler or a client to abort a transaction.'
    if _debug:
        IOQController._debug('abort_io %r %r', iocb, err)
    IOController.abort_io(self, iocb, err)
    if (iocb is not self.active_iocb):
        if _debug:
            IOQController._debug('    - not current iocb')
        return
    self.active_iocb = None
    self.state = CTRL_IDLE
    deferred(IOQController._trigger, self)
Called by a handler or a client to abort a transaction.
def abort_io(self, iocb, err):
    
    if _debug:
        IOQController._debug('abort_io %r %r', iocb, err)
    IOController.abort_io(self, iocb, err)
    if (iocb is not self.active_iocb):
        if _debug:
            IOQController._debug('    - not current iocb')
        return
    self.active_iocb = None
    self.state = CTRL_IDLE
    deferred(IOQController._trigger, self)