target = "https://www.rfc-editor.org/rfc/rfc9000#section-19.16" # 19.16. RETIRE_CONNECTION_ID Frames # # An endpoint sends a RETIRE_CONNECTION_ID frame (type=0x19) to # indicate that it will no longer use a connection ID that was issued # by its peer. This includes the connection ID provided during the # handshake. Sending a RETIRE_CONNECTION_ID frame also serves as a # request to the peer to send additional connection IDs for future use; # see Section 5.1. New connection IDs can be delivered to a peer using # the NEW_CONNECTION_ID frame (Section 19.15). # # Retiring a connection ID invalidates the stateless reset token # associated with that connection ID. # # RETIRE_CONNECTION_ID frames are formatted as shown in Figure 40. # # RETIRE_CONNECTION_ID Frame { # Type (i) = 0x19, # Sequence Number (i), # } # # Figure 40: RETIRE_CONNECTION_ID Frame Format # # RETIRE_CONNECTION_ID frames contain the following field: # # Sequence Number: The sequence number of the connection ID being # retired; see Section 5.1.2. # # Receipt of a RETIRE_CONNECTION_ID frame containing a sequence number # greater than any previously sent to the peer MUST be treated as a # connection error of type PROTOCOL_VIOLATION. # # The sequence number specified in a RETIRE_CONNECTION_ID frame MUST # NOT refer to the Destination Connection ID field of the packet in # which the frame is contained. The peer MAY treat this as a # connection error of type PROTOCOL_VIOLATION. # # An endpoint cannot send this frame if it was provided with a zero- # length connection ID by its peer. An endpoint that provides a zero- # length connection ID MUST treat receipt of a RETIRE_CONNECTION_ID # frame as a connection error of type PROTOCOL_VIOLATION. [[spec]] level = "MUST" quote = ''' Receipt of a RETIRE_CONNECTION_ID frame containing a sequence number greater than any previously sent to the peer MUST be treated as a connection error of type PROTOCOL_VIOLATION. ''' [[spec]] level = "MUST" quote = ''' The sequence number specified in a RETIRE_CONNECTION_ID frame MUST NOT refer to the Destination Connection ID field of the packet in which the frame is contained. ''' [[spec]] level = "MAY" quote = ''' The peer MAY treat this as a connection error of type PROTOCOL_VIOLATION. ''' [[spec]] level = "MUST" quote = ''' An endpoint that provides a zero- length connection ID MUST treat receipt of a RETIRE_CONNECTION_ID frame as a connection error of type PROTOCOL_VIOLATION. '''