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. |