New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move Transport Properties text and close #373 #381
Conversation
draft-ietf-taps-arch.md
Outdated
* Connection: A Connection object represents one or more active transport protocol instances that can send and/or receive Messages between local and remote systems. It holds state pertaining to the underlying transport protocol instances and any ongoing data transfers. This represents, for example, an active connection in a connection-oriented protocol such as TCP, or a fully-specified 5-tuple for a connectionless protocol such as UDP. It can also represent a pool of transport protocol instance, e.g., a set of TCP and QUIC connections to equivalent endpoints, or a stream of a multi-streaming transport protocol instance. | ||
|
||
* Listener: A Listener object accepts incoming transport protocol connections from remote systems and generates corresponding Connection objects. It is created from a Preconnection object that specifies the type of incoming connections it will accept. | ||
|
||
### Transport Properties |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please have these be a sub-section of the Pre-Establishment. This should not be a top-level phase of the connection.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was my first idea too, but it did not work out: In Pre-Establishment, we have a detailed description (two lengthy bullet points out of five) how selection and connection properties work in detail. All ways of rewriting Pre-Establishment to fit the high-level concept of Transport Properties there look awkward to me.
We moved that one around a lot just to avoid do making it an API Concept - but it is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please see my other comment. I think these still belong with Preconnection, as the text indicates.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The concept of Transport Properties spans all connection objects – not only the Preconnection – and therefore I would prefer not to put them in the Preconnection.
Nevertheless, they are most often used on the Preconnection and the Selection Properties work only on this one.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed, this rearrangement is not great, but I don't like any of the alternatives either.
I propose this diff instead—just indent Transport Properties where it is, as a sub-part of Preconnection:
|
Tried that… looks strange:
|
eh... it looks a little odd but it is technically more correct. |
So the whole point of this text is to introduce the term Transport Properties I think. Otherwise we could have just removed it as the three kinds are described in detail in later sections. Perhaps we can just insert this as running text at the end of the Preconnection description instead to make it look less awkward. Something like: Selection Properties (Section 4.1.2) can only be specified as part of a Preconnection. Connection Properties (Section 4.1.2) may also be specified as part of a Preconnection, but may also be changed on the Connection. Together with Message Properties (Section 4.1.4), which can also be specified during data transfer to affect specific Messages, they are the three kinds of Transport Properties that an application can specify to configure the Transport System and express its requirements, prohibitions, and preferences. |
I double-checked with the interface: there. transport properties are also an object that is passed to the preconnection and that can retrieved from a connection. Does this work better? |
This is very similar to where we started I think, so did not help much for me unfortunately. I still do not think it fits as a Connection Object on the same level as the rest. What did you think about my suggestion to introduce it in running text as part of the description of the Preconnection? |
@abrunstrom I thought about your suggestion, but my problem with that is that Transport Properties are actually:
Therefore, putting them into the Preconnection seems wrong to me. |
closes #373