anchor.diff:     (local-ip :reader tcp-listener-local-ip
                :initarg :local-ip
                :type mezzano.network.ip::ipv4-address)
  -   (semaphore :reader tcp-listener-semaphore
  -              :initarg :semaphore
  -              :type mezzano.sync:semaphore)
      (connections :reader tcp-listener-connections
                   :initarg :connections
                   :type mezzano.sync:mailbox)
  +   (n-pending-connections :accessor tcp-listener-n-pending-connections
  +                          :initarg :n-pending-connections
  +                          :type integer)
      (backlog :reader tcp-listener-backlog
  -            :initarg :backlog
  -            :type integer))
  -  (:default-initargs :semaphore (mezzano.sync:make-semaphore)))
  +            :initarg :backlog))
  +  (:default-initargs :n-pending-connections 0))
   
   (defmethod mezzano.sync:get-object-event ((object tcp-listener))
     (mezzano.sync:get-object-event (tcp-listener-connections object)))
  
positive.code:                 (setf (tcp-connection-state connection) :connection-aborted)
                  (detach-tcp-connection connection)
                  (when listener
                    (mezzano.sync:semaphore-down (tcp-listener-semaphore listener))))))
          (:established
           (if (zerop data-length)
               (when (and (= seq (tcp-connection-r-next connection))
  
negative.code:                 (setf (tcp-connection-state connection) :established)
                  (when listener
                    (mezzano.sync:mailbox-send connection (tcp-listener-connections listener))
                    (decf (tcp-listener-n-pending-connections listener))))
                 ;; Ignore duplicated SYN packets
                 ((and (logtest flags +tcp4-flag-syn+)
                       (eql ack (1- (tcp-connection-s-next connection)))))
  