code: def trigger(self):
          
          if _debug: IOCB._debug("trigger(%d)", self.ioID)
  
          # if it's queued, remove it from its queue
          if self.ioQueue:
              if _debug: IOCB._debug("    - dequeue")
              self.ioQueue.remove(self)
  
          # if there's a timer, cancel it
          if self.ioTimeout:
              if _debug: IOCB._debug("    - cancel timeout")
              self.ioTimeout.suspend_task()
  
          # set the completion event
          self.ioComplete.set()
          if _debug: IOCB._debug("    - complete event set")
  
          # make the callback(s)
          for fn, args, kwargs in self.ioCallback:
              if _debug: IOCB._debug("    - callback fn: %r %r %r", fn, args, kwargs)
              fn(self, *args, **kwargs)
docs: Set the completion event and make the callback(s).