rfc9621v5.txt   rfc9621.txt 
skipping to change at line 272 skipping to change at line 272
Equivalent Protocol Stacks: Protocol Stacks that can be safely Equivalent Protocol Stacks: Protocol Stacks that can be safely
swapped or raced in parallel during establishment of a Connection. swapped or raced in parallel during establishment of a Connection.
Event: A primitive that is invoked by an Endpoint [RFC8303]. Event: A primitive that is invoked by an Endpoint [RFC8303].
Framer: A data translation layer that can be added to a Connection Framer: A data translation layer that can be added to a Connection
to define how application-layer Messages are transmitted over a to define how application-layer Messages are transmitted over a
Protocol Stack. Protocol Stack.
Local Endpoint: The Local Endpoint. Local Endpoint: The local Endpoint.
Local Endpoint Identifier: A representation of the application's Local Endpoint Identifier: A representation of the application's
identifier for itself that it uses for a Connection. identifier for itself that it uses for a Connection.
Message: A unit of data that can be transferred between two Message: A unit of data that can be transferred between two
Endpoints over a Connection. Endpoints over a Connection.
Message Property: A property that can be used to specify details Message Property: A property that can be used to specify details
about Message transmission or obtain details about the about Message transmission or obtain details about the
transmission after receiving a Message. transmission after receiving a Message.
skipping to change at line 497 skipping to change at line 497
more closely reflect the nature of interactions over networks, as more closely reflect the nature of interactions over networks, as
opposed to how the Socket API represents network resources as file opposed to how the Socket API represents network resources as file
system objects that may be temporarily unavailable. system objects that may be temporarily unavailable.
Separate from events, callbacks are also provided for asynchronous Separate from events, callbacks are also provided for asynchronous
interactions with the Transport Services API that are not directly interactions with the Transport Services API that are not directly
related to events on the network or network interfaces. related to events on the network or network interfaces.
2.2. Data Transfer Using Messages 2.2. Data Transfer Using Messages
The Socket API provides a Message interface for datagram protocols The Socket API provides a message interface for datagram protocols
like UDP but provides an unstructured stream abstraction for TCP. like UDP but provides an unstructured stream abstraction for TCP.
While TCP has the ability to send and receive data as a byte-stream, While TCP has the ability to send and receive data as a byte-stream,
most applications need to interpret structure within this byte- most applications need to interpret structure within this byte-
stream. For example, HTTP/1.1 uses character delimiters to segment stream. For example, HTTP/1.1 uses character delimiters to segment
messages over a byte-stream [RFC9112]; TLS record headers carry a messages over a byte-stream [RFC9112]; TLS record headers carry a
version, content type, and length [RFC8446]; and HTTP/2 uses frames version, content type, and length [RFC8446]; and HTTP/2 uses frames
to segment its headers and bodies [RFC9113]. to segment its headers and bodies [RFC9113].
The Transport Services API represents data as Messages, so that it The Transport Services API represents data as Messages, so that it
more closely matches the way applications use the network. A more closely matches the way applications use the network. A
skipping to change at line 668 skipping to change at line 668
since both applications that require reliability and those that do since both applications that require reliability and those that do
not require reliability can function correctly when a protocol not require reliability can function correctly when a protocol
provides reliability, reliability ought to be enabled by default. As provides reliability, reliability ought to be enabled by default. As
another example, the default value for a Property regarding the another example, the default value for a Property regarding the
selection of network interfaces ought to permit as many interfaces as selection of network interfaces ought to permit as many interfaces as
possible. possible.
Applications using the Transport Services API need to be designed to Applications using the Transport Services API need to be designed to
be robust to the automated selection provided by the Transport be robust to the automated selection provided by the Transport
Services System. This automated selection is constrained by the Services System. This automated selection is constrained by the
Properties and preferences expressed by the application and requires preferences expressed by the application and requires applications to
applications to explicitly set Properties that define any necessary explicitly set Properties that define any necessary constraints on
constraints on protocol, path, and interface selection. protocol, path, and interface selection.
3.2. Allow Access to Specialized Features 3.2. Allow Access to Specialized Features
There are applications that will need to control fine-grained details There are applications that will need to control fine-grained details
of transport protocols to optimize their behavior and ensure of transport protocols to optimize their behavior and ensure
compatibility with remote systems. It is therefore RECOMMENDED that compatibility with remote systems. It is therefore RECOMMENDED that
the Transport Services API and the Transport Services Implementation the Transport Services API and the Transport Services Implementation
permit more specialized protocol features to be used. permit more specialized protocol features to be used.
Some specialized features could be needed by an application only when Some specialized features could be needed by an application only when
skipping to change at line 1095 skipping to change at line 1095
4.1.4. Establishment Actions 4.1.4. Establishment Actions
Initiate: The primary action that an application can take to create Initiate: The primary action that an application can take to create
a Connection to a Remote Endpoint and prepare any required local a Connection to a Remote Endpoint and prepare any required local
or remote state to enable the transmission of Messages. For some or remote state to enable the transmission of Messages. For some
protocols, this will initiate a client-to-server-style handshake; protocols, this will initiate a client-to-server-style handshake;
for other protocols, this will just establish local state (e.g., for other protocols, this will just establish local state (e.g.,
with connectionless protocols such as UDP). The process of with connectionless protocols such as UDP). The process of
identifying options for connecting, such as resolution of the identifying options for connecting, such as resolution of the
Remote Endpoint Identifier, occurs in response to the calling Remote Endpoint Identifier, occurs in response to calling
Initiate. Initiate.
Listen: Enables a Listener to accept incoming connections. The Listen: Enables a Listener to accept incoming connections. The
Listener will then create Connection objects as incoming Listener will then create Connection objects as incoming
connections are accepted (Section 4.1.6). Listeners by default connections are accepted (Section 4.1.6). Listeners by default
register with multiple paths, protocols, and Local Endpoints, register with multiple paths, protocols, and Local Endpoints,
unless constrained by Selection Properties and/or the specified unless constrained by Selection Properties and/or the specified
Local Endpoint Identifier(s). Connections can be accepted on any Local Endpoint Identifier(s). Connections can be accepted on any
of the available paths or endpoints. of the available paths or endpoints.
 End of changes. 4 change blocks. 
6 lines changed or deleted 6 lines changed or added

This html diff was produced by rfcdiff 1.48.