anchor.diff:    (when (not end)
       (setf end (length sequence)))
     (with-tcp-connection-locked (tcp-stream-connection stream)
  +    (check-connection-error (tcp-stream-connection stream))
       (let ((position start))
         (loop (when (or (>= position end)
                         (not (refill-tcp-packet-buffer stream)))
  
positive.code: 
  (defmethod gray:stream-read-byte-no-hang ((stream tcp-octet-stream))
    (with-tcp-connection-locked (tcp-stream-connection stream)
      (refill-tcp-packet-buffer-no-hang stream)
      (when (not (tcp-stream-packet stream))
        (return-from gray:stream-read-byte-no-hang
  
negative.code: (defun tcp-send (connection data &optional (start 0) end)
    (setf end (or end (length data)))
    (with-tcp-connection-locked connection
      (check-connection-error connection)
      ;; FIXME: It should be an error to send after close.
      (when (or (eql (tcp-connection-state connection) :established)
                (eql (tcp-connection-state connection) :close-wait))
  