anchor.diff:  ;;;; Driver
   
   
  -(defun io-driver ()
  -  (loop until *io-event-queue* do (io-system-driver *io-system*))
  -  (values-list (pop *io-event-queue*)))
  -
  +(defun io-driver (n)
  +  (loop repeat n until *io-event-queue* do (io-system-driver *io-system*))
  +  (pop *io-event-queue*))
  +
  
positive.code: (defstruct io-descriptor
    status
    error
    ;; -- internal --
    stream
    (read-buffer  nil :type (or null octets))
  
negative.code:   (values port (passive-socket-host *io-socket*)))
  
  
  (defun io-create-descriptor (&optional conn)
    (let ((desc (make-io-descriptor :connection conn)))
      (push desc *io-descriptions*)
      desc))
  
  (defun io-descriptor-associate-connection (desc conn)
    (setf (io-descriptor-connection desc) conn))
  
  (defun io-descriptor-destroy (desc)
    (setf (io-descriptor-status desc) :broken)
    (ignore-errors
      (close (io-descriptor-stream desc)))
    (setf (io-descriptor-connection desc) nil)
    (setq *io-descriptions* (delete desc *io-descriptions*)))
  
  
  