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

Reply via email to