3.1.1 Abstract Data Model
A net.tcp URI identifies a resource that listens for TCP connections and assumes the receiver role of this protocol.
A net.tcp URI is a URI that satisfies the following constraints:
The scheme, as defined in [RFC3986] section 3.1, component of the URI MUST be net.tcp.
The URI MUST be a hierarchical URI, as defined in [RFC3986].
The authority, as defined in [RFC3986] section 3.2, component of the URI MUST be specified.
The authority component of the URI MUST NOT include user information, as defined in [RFC3986] section 3.2.1.
The URI SHOULD NOT include the fragment URI, as defined in [RFC3986] section 3.5, component.<2>
If the authority component of a net.tcp URI does not specify a port, then the default port MUST be considered to be 808.
The protocol MUST maintain the following data elements for each TCP connection:
TCP Protocol Configuration Object (TPCO): A configuration object as defined in [MC-NMF] section 3.1.1 that satisfies the following constraints:
The Via, as defined in [MC-NMF] section 2.2.3.3, specified by the TPCO MUST be a net.tcp URI as specified in this section.
The Via, as defined in [MC-NMF] section 2.2.3.3, specified by the TPCO MUST be an absolute URI.
The protocol version specified by the TPCO MUST be 1.0.
The communication mode specified by the TPCO MUST NOT be Simplex, as defined in [MC-NMF] section 2.2.3.2.<3>
The communication mode specified by the TPCO MUST NOT be Singleton-Sized, as defined in [MC-NMF] section 2.2.3.2.<4>
If the communication mode is Duplex, as defined in [MC-NMF] section 2.2.3.2, then the encoding specified by the TPCO MUST NOT be Binary [MC-NBFS]. The transport in this mode uses a transport session.<5>
If the communication mode is Singleton-Unsized, as defined in [MC-NMF] section 2.2.3.2, then the encoding specified by the TPCO MUST NOT be Binary with in-band dictionary [MC-NBFSE]. The transport in this mode uses a transport session.<6>