Hi,

 
> On Nov 5, 2017, at 10:21 PM, Tommy Pauly <tpa...@apple.com> wrote:
> 
> Indeed! But, as far as I can tell, drafts like 
> draft-tiesel-taps-socketintents-01 are not trying to propose a top-level API, 
> but rather an aspect of the API.

I agree with everything you say here. About draft-tiesel-taps-socketintents-01, 
okay - I wasn’t so sure where this is heading … but both 
draft-trammell-taps-post-sockets-03 and draft-fairhurst-taps-neat-00.txt 
describe an abstract API.


> Even when we discuss the draft for what I'm referring to as the "top-level 
> API", I think we need to (in the spirit of the charter) not be specifying a 
> specific set of language-specific API calls, or a specific framework, but the 
> shape that instances of an API should take. My goal coming out of TAPS would 
> be to change the approach implementers take when designing transport APIs, to 
> make sure that the resulting APIs not only support the flexibility TAPS was 
> designed for, but also can be standard and cross-compatible across all 
> operating systems. Thus, we want the documents to encompass API principles 
> and concepts, but leave the semantics flexible and as an exercise to the 
> reader. Perhaps in the examples, even give several options in different 
> language styles, and show how code can be easily translated between the 
> approaches.

Yes - and these principles (also in the spirit of the charter) should be based 
on the analysis of existing transports and the definition of a minimal set of 
services that TAPS systems should support. I made an effort to be reasonable in 
the minimum set that we’ve derived:
- avoid getting stuck in a corner (being tied to only one protocol)
- allow for one-sided deployment, with a fall-back to TCP or UDP ( (D)TLS TBD - 
I think that was a very reasonable request)
- not miss out on functionality that can never be offered unless it’s put in 
the API


> To be specific, I would imagine that whatever API examples we have in the 
> various documents we write will not necessarily be part of any specific 
> implementation. Rather, various implementations will conform to the 
> principles and patterns of the API description. Apple's transport APIs would 
> match it, NEAT's APIs would match it, Android APIs would match it, Windows 
> APIs would match it, etc, etc.

I agree with all that.

To be clear, this is not me arguing for or against one specific API. I’m only 
keen on ensuring that the result matches the principles I used for the minset, 
as listed above (or, if folks disagree with them, we should discuss them).  I 
only want TAPS to be implementable, useful and deployable (where I think that 
allowing one-sided deployment is a big deal).

Cheers,
Michael

_______________________________________________
Taps mailing list
Taps@ietf.org
https://www.ietf.org/mailman/listinfo/taps

Reply via email to