Draft: draft-ietf-taps-interface

Commentary: No need to have a different type of Event for initiate , listen and rendezvous . 
 On a PreConnection , an application uses EITHER Initiate OR Listen OR Rendezvous . Therefore , it seems unnecessary to distinguish between three types of errors . Should n't we have a general per - PreConnection " UnfulfilledError " instead of the InitiateError + ListenError + RendezvousError , just to shorten things a bit ? An application needs more details ( reasons ) , but it gets them as a parameter anyway when the new " UnfulfilledError " would occur .
Paragraph (version A):
An InitiateError occurs either when the set of transport properties
and security parameters cannot be fulfilled on a Connection for
initiation (e.g. the set of available Paths and/or Protocol Stacks
meeting the constraints is empty) or reconciled with the local and/or
remote Endpoints; when the remote specifier cannot be resolved; or
when no transport-layer connection can be established to the remote
Endpoint (e.g. because the remote Endpoint is not accepting
connections, the application is prohibited from opening a Connection
by the operating system, or the establishment attempt has timed out
for any other reason).
Paragraph (version B):
An EstablishmentError occurs either when the set of transport
properties and security parameters cannot be fulfilled on a
Connection for initiation (e.g. the set of available Paths and/or
Protocol Stacks meeting the constraints is empty) or reconciled with
the local and/or remote Endpoints; when the remote specifier cannot
be resolved; or when no transport-layer connection can be established
to the remote Endpoint (e.g. because the remote Endpoint is not
accepting connections, the application is prohibited from opening a
Connection by the operating system, or the establishment attempt has
timed out for any other reason).
Paragraph (version A):
A ListenError occurs either when the Properties and Security
Parameters of the Preconnection cannot be fulfilled for listening or
cannot be reconciled with the Local Endpoint (and/or Remote Endpoint,
if specified), when the Local Endpoint (or Remote Endpoint, if
specified) cannot be resolved, or when the application is prohibited
from listening by policy.
Paragraph (version B):
A EstablishmentError occurs either when the Properties and Security
Parameters of the Preconnection cannot be fulfilled for listening or
cannot be reconciled with the Local Endpoint (and/or Remote Endpoint,
if specified), when the Local Endpoint (or Remote Endpoint, if
specified) cannot be resolved, or when the application is prohibited
from listening by policy.
Paragraph (version A):
An RendezvousError occurs either when the Properties and Security
Parameters of the Preconnection cannot be fulfilled for rendezvous or
cannot be reconciled with the Local and/or Remote Endpoints, when the
Local Endpoint or Remote Endpoint cannot be resolved, when no
transport-layer connection can be established to the Remote Endpoint,
or when the application is prohibited from rendezvous by policy.
Paragraph (version B):
An EstablishmentError occurs either when the Properties and Security
Parameters of the Preconnection cannot be fulfilled for rendezvous or
cannot be reconciled with the Local and/or Remote Endpoints, when the
Local Endpoint or Remote Endpoint cannot be resolved, when no
transport-layer connection can be established to the Remote Endpoint,
or when the application is prohibited from rendezvous by policy.