anchor.diff:          
           (iolib:set-error-handler event-base in-fd (lambda (&rest aa) (log:error "Got pipe error: ~s" aa)))
   
  +        ;;
  +        ;;  This is the main multiplexer loop
  +        ;;
           (loop
              if (or (cl-rabbit::data-in-buffer conn)
                     (cl-rabbit::frames-enqueued conn))
  
positive.code:           (index (1- (async-channel/channel async-channel))))
        (assert (not (null (aref channels index))))
        (setf (aref channels index) nil)))
    (call-close-callbacks async-channel)
    (log:trace "Channel marked as closed: ~s" async-channel))
  
  (defun close-channel (async-channel &key code)
    (when (async-channel/close-p async-channel)
  
negative.code:                    (b-current async-connection/b-current))
        async-conn
      (let ((request-index (load-integer-from-fd (async-connection/cmd-fd-reader async-conn))))
        (if request-index
            (bordeaux-threads:with-lock-held (b-lock)
              (when b-current
                (error "The current handler index is not NIL: ~s" b-current))
              (setf b-current request-index)
              (bordeaux-threads:condition-notify b-condvar)
              (loop
                 while b-current
                 do (bordeaux-threads:condition-wait b-condvar b-lock)))
            ;; ELSE: When index is NIL, the connection should be stopped
            (signal 'stop-connection)))))
  
  