code: def set_timeout(self, delay, err=TimeoutError):
          
          if _debug: IOCB._debug("set_timeout(%d) %r err=%r", self.ioID, delay, err)
  
          # if one has already been created, cancel it
          if self.ioTimeout:
              self.ioTimeout.suspend_task()
          else:
              self.ioTimeout = FunctionTask(self.abort, err)
  
          # (re)schedule it
          self.ioTimeout.install_task(delay=delay)
docs: Called to set a transaction timer.