anchor.diff:                                               (let ((client (make-client client-sock name port)))
                                                  (setf (gethash (cons name port) connections)
                                                        client)
  -                                               (on-connect server client)
  -                                               (start-reads server event-base client))))))
  +                                               (on-connect driver client)
  +                                               (start-reads driver event-base client))))))
              (handler-case
                  (iolib:event-dispatch event-base)
                ((or iolib:socket-connection-reset-error iolib:hangup end-of-file) (e)
  -               (on-error server e)))
  -           (on-close server))
  +               (on-error driver e)))
  +           (on-close driver))
         (maphash-values (lambda (client) (close (tcp-client-socket client)))
                         connections)
         (close event-base))))
   
  -(defun start-reads (server event-base client)
  +(defun start-reads (driver event-base client)
     (iolib:set-io-handler event-base (iolib:socket-os-fd (tcp-client-socket client))
                           :read (lambda (&rest ig)
                                   (declare (ignore ig))
  
positive.code: (defmacro defevent (name lambda-list &rest options)
    `(defgeneric ,name ,lambda-list ,@options
                 (:method ,lambda-list (declare (ignore ,@lambda-list)) nil)))
  (defevent on-listen (server))
  (defevent on-close (server))
  (defevent on-error (server error))
  (defevent on-connect (server client))
  (defevent on-disconnect (server client))
  (defevent on-data (server client data))
  (defevent on-timeout (server client))
  (defevent on-client-error (server client error))
  (defevent on-drain (server client))
  
  (defparameter *max-buffer-size* 16384)
  (defstruct (tcp-client
  
negative.code:                                               :local-port port
                                                :reuse-address t
                                                :backlog 5)
             (on-listen driver)
             (iolib:set-io-handler event-base (iolib:socket-os-fd server-sock)
                                   :read (lambda (&rest ig)
                                           (declare (ignore ig))
  