2.1.1 Connection-Oriented RPC Transports

All connection-oriented RPC protocols specified in this document are carried by transport protocols that MAY satisfy the following requirements:

  • The transport protocol allows a client to establish a connection with a server given a network address, endpoint, and, optionally, one or more network options.

  • Each transport protocol connection is a duplex communication session that supports reliable, in order, at-most-once delivery semantics.

  • Each connection can be established and can be terminated. Once established, a connection allows sending and receiving of unlimited amounts of data. Optionally, a transport can detect whether the other party to a connection has dropped off the connection and SHOULD indicate this to RPC runtime. The details of how and when this is handled are specified in sections 3.3.2.2.1 and 3.3.2.7.1.

In sections 2.1.1.1 through 2.1.1.8, for each transport protocol that supports these extensions, this document specifies how the transport protocol fulfills the requirements given in this section and any other relevant transport-specific details.