In my slow-moving implementation project, I have finally gotten to setting up the preconnection. After reading through the api-drafts, I still lack a clear picture as to what data items TAPS is tracking after the Preconnection call.
My perception of this is too foggy to file a useful issue yet. 1) The preconnection inputs are a list of endpoints, the transport priorities, and the security priorities. AFAICT the one thing the drafts explicitly ask of TAPS with a new preconnection is fail immediately if the required and prohibited transport properties result in no viable protocol choices. So what is TAPS doing with the other arguments at this stage? It seems like it's only during connection establishment that we resolve the endpoints into addresses, so why isn't this just sent as an argument to the Connection establishment calls? It would appear the application is simply passing a bunch of stuff to TAPS to hold until it's actually needed for a later call. My initial, lazy reading made me think that the preconnection was building the candidate tree by resolving hostnames, etc. That appears to not be the case, but the text is not super clear to me. Of course, since establishing a preconnection does not return an event, it is synchronous and could not do anything with unbounded latency, like a hostname resolution. 2) Relatedly, but at the risk of going too deep into the "implementation-dependent," it would be nice for applications if there could be a standard as to whether these objects are immutable after being passed. In other words, either (a) The application passes an endpoint to create the preconnection; if there are later changes/additions to the endpoint, that updates the preconnection as well. (b) Later changes to the endpoint object do not affect the preconnection, meaning TAPS needs to do a deep copy. (c) The endpoint object is no longer accessible to the application after passing through the preconnection, meaning that it would be very useful to have a cloning method in the object. Is there a consensus on which of the choices is most desirable? I am probably missing something obvious here. I hope these questions make sense to people. Regards, Martin
_______________________________________________ Taps mailing list [email protected] https://www.ietf.org/mailman/listinfo/taps
