3.2.2  File Objects Represent Connection Endpoints

A file object that represents an open connection endpoint identifies a specific connection on which local and remote-node peer processes are communicating with each other across the network or will communicate with each other when the local-node process has established an endpoint-to-endpoint connection with a remote-node peer.

Any such file object must be associated with another open file object that represents a particular transport address. The transport address identifies the process, as already described in Section 3.2.1.

In a similar manner, the transport uses the file object representing the local connection endpoint to maintain state about the remote-node peer process, such as the remote-node transport address, with which its local-node client establishes an endpoint-to-endpoint connection.

A client process can establish many endpoint-to-endpoint connections between itself and other processes on remote nodes. For example, the Windows NT redirector establishes separate connections between itself and each remote Windows NT Server with which it communicates. Such a client can have several open connection endpoints all separately associated with an open transport address.

When a process wants to send data over an endpoint-to-endpoint connection, it must have a means of identifying which of all existing connections the data is to be sent over. Each open file object that represents a connection endpoint is used to discriminate among established endpoint-to-endpoint connections of the same process.