I updated the protocol draft with this input (notice I kept the updated API implementation as the second commit in the PR for the sake of comparison): https://github.com/apache/trafficserver/pull/7149
The API now looks like the following: tsapi TSReturnCode TSHttpTxnClientStreamIdGet(TSHttpTxn txnp, TSHttpStreamId *stream_id); tsapi TSReturnCode TSHttpTxnClientStreamPriorityGet(TSHttpTxn txnp, TSHttpPriority *priority); TSHttpStreamId and TSHttpPriority are now abstract structures that can reference TSHttp2StreamId and TSHttp2Priority objects. In the future we can expand this to include version 3 values of these. Notice that the above are generic to the specific HTTP protocol type used by the transaction. I'll hold off on updating the docs in the PR until I get confirmation that this looks OK to the community. Thanks, Brian On Tue, Sep 1, 2020 at 4:20 PM Brian Neradt <brian.ner...@gmail.com> wrote: > This sounds good to me. This essentially puts the type parameter in the > structure itself rather than as a separate parameter to the functions. > > On Tue, Sep 1, 2020 at 4:11 PM Alan Carroll > <solidwallofc...@verizonmedia.com.invalid> wrote: > >> Sorry for chiming in late - >> >> Note this is extremely similar to IP addresses and I recommend we use the >> same solution. That is, there is a class HttpPriority which has just a >> type/style/family value and possibly a length. This is an abstract class >> like sockaddr (which no one actually instantiates). The family indicates >> the concrete type, which is something like Http2Priority or Http3Priority, >> etc., just like sockaddr_in and sockaddr_in6. When you call the priority >> getter, it returns a HttpPriority* which is a pointer to a concrete >> instance, the type of which is determined by the family. Again, just like >> getting an IP address from a socket. >> > > > -- > "Come to Me, all who are weary and heavy-laden, and I will > give you rest. Take My yoke upon you and learn from Me, for > I am gentle and humble in heart, and you will find rest for > your souls. For My yoke is easy and My burden is light." > > ~ Matthew 11:28-30 > -- "Come to Me, all who are weary and heavy-laden, and I will give you rest. Take My yoke upon you and learn from Me, for I am gentle and humble in heart, and you will find rest for your souls. For My yoke is easy and My burden is light." ~ Matthew 11:28-30