rfc9623v7.txt | rfc9623.txt | |||
---|---|---|---|---|
skipping to change at line 1307 ¶ | skipping to change at line 1307 ¶ | |||
Implementation, but an implementation ought to allow custom Message | Implementation, but an implementation ought to allow custom Message | |||
Framers to be defined by the application or some other piece of | Framers to be defined by the application or some other piece of | |||
software. This section describes one possible API for defining | software. This section describes one possible API for defining | |||
Message Framers as an example. | Message Framers as an example. | |||
6.1. Defining Message Framers | 6.1. Defining Message Framers | |||
A Message Framer is primarily defined by the code that handles events | A Message Framer is primarily defined by the code that handles events | |||
for a Framer implementation, specifically how it handles inbound and | for a Framer implementation, specifically how it handles inbound and | |||
outbound data parsing. The function that implements custom framing | outbound data parsing. The function that implements custom framing | |||
logic will be referred to as the "Framer Implementation", which may | logic will be referred to as the "Framer implementation", which may | |||
be provided by a Transport Services Implementation or the application | be provided by a Transport Services Implementation or the application | |||
itself. The Message Framer holds a reference to the object or | itself. The Message Framer holds a reference to the object or | |||
function within the main Connection implementation that delivers | function within the main Connection implementation that delivers | |||
events to the custom Framer implementation whenever data is ready to | events to the custom Framer implementation whenever data is ready to | |||
be parsed or framed. | be parsed or framed. | |||
The API examples in this section use the notation conventions for the | The API examples in this section use the notation conventions for the | |||
Transport Services API defined in Section 1.1 of [RFC9622]. | Transport Services API defined in Section 1.1 of [RFC9622]. | |||
The Transport Services Implementation needs to ensure that all of the | The Transport Services Implementation needs to ensure that all of the | |||
skipping to change at line 1893 ¶ | skipping to change at line 1893 ¶ | |||
in response to Abort actions. (Once in use, UDP connections can | in response to Abort actions. (Once in use, UDP connections can | |||
also generate SoftError events (ERROR.UDP) upon receiving ICMP | also generate SoftError events (ERROR.UDP) upon receiving ICMP | |||
notifications indicating failures in the network.) | notifications indicating failures in the network.) | |||
Listen: LISTEN.UDP. Calling Listen for UDP binds a local port and | Listen: LISTEN.UDP. Calling Listen for UDP binds a local port and | |||
prepares it to receive inbound UDP datagrams from peers. | prepares it to receive inbound UDP datagrams from peers. | |||
ConnectionReceived: UDP Listeners will deliver new Connections once | ConnectionReceived: UDP Listeners will deliver new Connections once | |||
they have received traffic from a new Remote Endpoint. | they have received traffic from a new Remote Endpoint. | |||
Clone: Calling Clone on a UDP connection creates a new connection | Clone: Calling Clone on a UDP connection creates a new UDP | |||
with equivalent parameters. The two Connection objects are | connection with equivalent parameters. The two associated | |||
otherwise independent. | Connection objects are otherwise independent. | |||
Send: SEND.UDP. Calling Send on a UDP connection sends the data as | Send: SEND.UDP. Calling Send on a UDP connection sends the data as | |||
the payload of a complete UDP datagram. Marking Messages as Final | the payload of a complete UDP datagram. Marking Messages as Final | |||
does not change anything in the datagram's contents. Upon sending | does not change anything in the datagram's contents. Upon sending | |||
a UDP datagram, some relevant fields and flags in the IP header | a UDP datagram, some relevant fields and flags in the IP header | |||
can be controlled: DSCP (SET_DSCP.UDP), DF in IPv4 (SET_DF.UDP), | can be controlled: DSCP (SET_DSCP.UDP), DF in IPv4 (SET_DF.UDP), | |||
and ECN flag (SET_ECN.UDP). | and ECN flag (SET_ECN.UDP). | |||
Receive: RECEIVE.UDP. UDP only delivers complete Messages to | Receive: RECEIVE.UDP. UDP only delivers complete Messages to | |||
Received, each of which represents a single datagram received in a | Received, each of which represents a single datagram received in a | |||
End of changes. 2 change blocks. | ||||
4 lines changed or deleted | 4 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |